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.
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.
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.
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.
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.
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.
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.
It uses MongoDB for storing users data, dSteem to communicate with the Steem Blockchain, and Discord.js for Discord API.
- Individual and overall statistics commands
- Pause command for users
- Minimum SP requirement for subscribers
- 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.
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.