Introducing FlagTrail - Steemauto for Flagging Abuse


flagtrail-cover.png

Repository

https://github.com/CodeBull/FlagTrail

FlagTrail is a Discord bot to flag abusive contents from all subscribed accounts all at once. It can also be used to counter retaliatory flags from the abusers.

The bot periodically updates registered accounts' voting power, vote value, vests, and authorization status from the Blockchain. It uses these variables and required rshares value to make an available voters list for specific content.

Along with flagging abuse it also comments from every subscribed accounts under @steemflagrewards approval comment so that all the participants can be rewarded by the @steemflagrewards.

Available Commands

Registration

Command: ?register username vote_weight voting_mana_limit abuser_sp_limit
Example: ?register noblebot 100 90 3000

With the above command, @noblebot can subscribe to the Trail. The bot will respond with a posting authorization SteemConnect link for the trail account.


sc-03.png

The trail would use maximum of 100% voting weight as long as @noblebot's voting mana is above 90% and downvote if an abuser doesn't have more than 3000 SP.

Downvote

Command: ?downvote content_url
Example: ?downvote https://steemit.com/utopian-io/@reazuliqbal/automatically-follow-on-flag-sfr-approved-flags

Only admin(s) can use downvote command. The trail would only downvote if the content has positive rshares and a @steemflagrewards approval comment is present.


sc-01.png

When all the conditions are met, the bot would look for available voters based on criteria set by the subscribers. After that all downvote and follow-on comments will be sent all at once.

Upvote

Command: ?upvote content_url
Example: ?upvote https://steemit.com/utopian-io/@reazuliqbal/automatically-follow-on-flag-sfr-approved-flags

Like downvote, this is also a restricted command for the admins. The trail would only process upvote if the content has negative rshares and bring it to zero rshares. This is used to counteract retaliatory flags from the abusers.


sc-02.png

Delete

Command: ?delete username
Example: ?delete noblebot

Any registered user or admin can use this command to remove a subscribed user from the trail.

There is also ?help - a command for displaying all the commands with their required arguments.

Technologies

It uses MongoDB for storing users data, dSteem to communicate with the Steem Blockchain, and Discord.js for Discord API.

TODO

  • Individual and overall statistics commands
  • Pause command for users
  • Minimum SP requirement for subscribers

Installation

  • Create a Discord bot and grab its token.
  • Rename example.env to .env and make required changes to the .env file
  • Change command prefix or Admin roles in config.js if needed.
  • Open up terminal and type npm install to install all the dependencies.
  • Run npm start to start the bot.

Contributing

When contributing to this repository, please first discuss the change you wish to make via issue or any other method with the (owner) of this repository. But you are free to make your own copy and use it.

Pull Request

https://github.com/CodeBull/FlagTrail/pull/1

GitHub Account

https://github.com/CodeBull

Huge shout-out to @steemseph, @anthonyadavisii, @iamstan, and @wehmoen for testing the bot and all the suggestions.

Rabbit and Red Flag clip art is used under appropriate free license.

H2
H3
H4
3 columns
2 columns
1 column
41 Comments