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

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.

H2
H3
H4
Upload from PC
Video gallery
3 columns
2 columns
1 column
9 Comments