Steem Downvote Report Beem Python Tool Series #1: Check Your Flag Rank!

in #utopian-io6 years ago (edited)

Steem Downvote Report Tool for the Non-Technical User


image.png
Say Hello to My Little Friend. Flaggy V1. He may be a little grouchy after spending too much time on Trending.

          One of my objectives is to empower the non-technical users of the Steem blockchain. Many may not be able to code. I've provided a tool that can enhance negative curation on the platform. This improves the credibility of Steem as a viable blogging platform. This should taken seriously but we can have fun while doing so. In fact, I highly recommend it.

          We have a few tricks up our sleeves to assist. One of the most important tools we have is human psychology through a thing I like to call "gamification". What do I mean by that? Here's an example. This was from a plagiarizer network that we had coordinated for reward removal a while ago.

image.png

         If you're still confused, one of the strategies I like to employ is using gaming elements to motivate others to flag. This has been a tried and true method for reward removal when you lack the Steem Power to deal with decisively on your own.

         People have a tendency to be motivated by their desire to progress in rank or position on the leaderboard. That pyschology can really light a fire so to speak. It certainly got our friend @yekrats going.

image.png

To clarify how this may be leveraged for antiabuse, the general process is as follows:

  • Post a flag campaign against abusers. This may be a single post or series per your preference. Request assistance with flagging and you may also offer to distribute liquid post rewards if you are advanced. (That functionality will eventually be added to this tool as well. There is a reason sqlite and a database is included. 😉)

  • After the flag campaign is underway, query the downvotes to produce progress reports. This may be done by timeframe with the tool but there are instances you may desire more granularity with specific permlinks instead.

  • Keep posting to the campaign until you achieve the desired affect. Distribute rewards if applicable once you conclude the campaign.

Repository:

https://github.com/anthonyadavisii/downvote_report

Overview:

          Enables regular Steem users to produce downvote reports for a user during a given timeframe. As an added bonus, users can produce additional reports of users’ corresponding RPG rank based on reward shares.

Requirements

Python3 running on Ubuntu 17+

Installation:

  • Clone Repository via Git

git clone https://github.com/anthonyadavisii/downvote_report.git

git.gif

  • Install via PIP

pip install --user Steem-Downvote-Report

pip.gif

Usage:

          There are a couple options. One of these is by running the script directly and the other is via importation into another script if you so desire.

Running via "downvote_report.py"

  • Navigate to downvote_report folder.

cd downvote_report/

  • Execute “downvote_report.py”

python downvote_report.py

  • Follow the prompts. You may optionally specify the stop / start date.

using_downvote_report_py.gif

Note: I struggled a bit with understand the stop and start date in the context of the get_account_history method of the Account Class in Beem. I'm a visual learner so I created a graphic to hopefully help others out.

          To anybody that has a inclination to start from the left to right, you may have also had a hard time with this. In my mind, I would have though the start and stop would have been reversed if we were looking at transactions from left to right but that is not the case.

          It makes more sense if you think of it from right to left. In that case, we begin gathering operations once we hit the start_date and end once we hit the stop_date. In the visualization below, we have gathered all operations that occurred within the timeframe of the green line.

image.png

  • After completing the prompts, the script will run and will return to the prompt once complete. You should notice a couple of comma seperated values files in the script directory.

image.png
Screensnip of WinSCP

          What you do with the files at this point is up to you. You may use a markdown table generator such as TablesGenerator.com, create a table, and copy it into your post body.

          I gathered from pulling the historical downvotes sent by my buddy, @steemseph, who just so happens to be a Flag Rank 8 Hero. I checked mine and I am but a Flag Rank 7 Bow Master so guess I better pick my flag game up.


DownvoterTotal FlagsSBD amountrsharesRankImage
@steemseph1500-30-2.60077E+13F8 Hero 10 Tril

Running as a Python module

What if you wanted to import the code as a module instead? I got you covered.

Use the following to import the module:

import downvote_report

Now, you may invoke the main function to run the code.

downvote_report.main()

You could also import the DownvoteReport class and call the functions.

from downvote_report import DownvoteReport
dr = DownvoteReport('steemflagrewards')
incoming = dr.incoming_to_account()

image.png

          The cool part of doing it this way is you can manipulate the data thereafter. Remember, how I mentioned having more granularity for your flag campaigns? You can do that by modifying the report_list variable. In upcoming posts, I will go into greater detail about initiating and managing flag campaigns. It had been a royal pain in the ass before but now it's going to be a cinch!

Steem Downvote Report Tool Roadmap

  • Automatic markdown table output function that can be easily copy / pasted into post body.

  • Add flag reward campaign functions with sqlite integration for the initiation, status report, and conclusion of the campaigns as well as the option to programmatically distribute liquid rewards.

  • Multi-Account reports for cases such as when users have multiple alts and wildcard support. Example: Getting all flags from @fulltimebotXX or @smooth-X accounts.

  • @steemflagrewards custom functions for tracking SFR rewarded flags w/ customer SFR Pirate Ranks which will be posted under the @admiralbot account.

  • As this post is a series around this tool, I will be covering more advanced topics in upcoming posts. I will cover creating your own custom rank structure. If you're not a fan of Shining Force (I'm more of a Final Fantasy Tactics Maximalist myself), you can use other game sprites / images of your choosing. I will cover the entire process. Also, I intend to write a DIY tutorial for a flag campaign.

Suggestions?

Full Disclosure: This has been my first adventure using Python Classes as well as going through the packaging process. It has been a great learning experience but I know I have a lot of room for improvement. If you have anything to help me on my way, please let me know. It's always awe inspiring to consider just how much knowledge we have among all the professionals on Steem and it's a pleasure to learn from you all.

Lastly, if you'd like to know your downvote rank, feel free to drop a comment. Hopefully, your account isn't as old as time but I am open to accomodating a reasonable number of requests while I have the time. First come, first served.

Would you like to delegate to the Steem Flag Rewards project that I started to promote decentralized moderation? Here are some handy delegation links! Your delegations and support continued development of SFR and other blockchain projects. It is greatly appreciated.

50 SP100 SP500 SP1000 SP

Also, please, consider following the @sfr_mod_fund Curation Trail which will be used to support the hard work of the Steem Flag Rewards Moderation Team. This will be my next point of focus for the project as our mods have been working for free for far too long. Believe it is time we give something back!

Thanks for checking out my lengthy post! If you made it this far, you're a Rockstar!



Note: No guitars were harmed in the making of this post.

Sort:  

This was an interesting post to review. It's very well written, and I expect to be very useful to many. It doesn't quite fit neatly in any of our categories, however. It's a Blog category post, but it's also kind of a Dev post, and also a bit of a tutorial. Plus, while not really an Anti-abuse post, it certainly touches on the topic.

This is not the sort of mix I would recommend to most. It's hard to pull off. But you succeed in doing so with great aplomb, and the result is a pretty great post. There were minor proofreading issues, but overall it is a job well done.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thanks for taking care of this review. I am so glad you are not a box guy or maybe you would had a hard time reviewing this post.
I could not fit this contribution into our review questionnaire. If I forced it the score would have been too low for the effort and quality of content.
Its great that Utopian has a good team of moderators that work together to get the job done.

Hi, @didic! You're absolutely right! I was trying to pack as much as I could in one post and it crossed multiple boundaries which turned out pretty well. Thanks for the thoughtful review!

Thank you for your review, @didic! Keep up the good work!

Hey, @anthonyadavisii!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Hi, @anthonyadavisii!

You just got a 7.16% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.

Hi @anthonyadavisii!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.531 which ranks you at #1876 across all Steem accounts.
Your rank has improved 3 places in the last three days (old rank 1879).

In our last Algorithmic Curation Round, consisting of 231 contributions, your post is ranked at #36.

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • The readers appreciate your great work!
  • Good user engagement!

Feel free to join our @steem-ua Discord server

YOU JUST GOT UPVOTED

Congratulations,
you just received a 13.10% upvote from @steemhq - Community Bot!

Wanna join and receive free upvotes yourself?
Vote for steemhq.witness on Steemit or directly on SteemConnect and join the Community Witness.

This service was brought to you by SteemHQ.com

Congratulations @anthonyadavisii! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You got more than 1750 replies. Your next target is to reach 2000 replies.

Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

The Meet the Steemians Contest is over - Results are coming soon ...

Support SteemitBoard's project! Vote for its witness and get one more award!

Coin Marketplace

STEEM 0.17
TRX 0.13
JST 0.027
BTC 60340.89
ETH 2615.66
USDT 1.00
SBD 2.56