dcom: A curation bot on Discord for STEEM communities

in #utopian-io5 years ago (edited)

dcom (discord community bot) is a (python3.6+) bot for communities to trigger upvotes from specified discord channels/servers.


I have built a couple of discord bots for community curations in the past. 1, 2

A couple of days ago, one of the communities I have been involved with asked a similar bot for their upcoming discord server. Since I am doing -almost- the same thing third time, this time I have decided to make it a generic bot package. It's usable for every kind of community for curation with community curation accounts.

It has a handful validators in place before upvoting and this will be increase in time.

Installation


$ pip install dcom

Configuration


You should create a configuration file stored at ~/.dcom_env.

Example variables:

BOT_ACCOUNT=<bot_username>
BOT_POSTING_KEY=<bot_posting_key>
STEEM_NODES=https://api.steemit.com
DISCORD_BOT_TOKEN=<discord_bot_token>
CHANNEL_WHITELIST=<channel_id_1>,<channel_id_2>
LATE_CURATION_WINDOW=561600
EARLY_CURATION_WINDOW=800
CURATOR_GROUPS=curators,admins
KeyValue
BOT_ACCOUNTThe account used for the curation
BOT_POSTING_KEYPrivate posting key of the curation account
STEEM_NODESA list of STEEM nodes (comma separated)
DISCORD_BOT_TOKEN<Token of the discord bot>
CHANNEL_WHITELISTCuration channel id list (comma separated)
LATE_CURATION_WINDOWMaximum age for a post (in seconds)
EARLY_CURATION_WINDOWMinimum age for a post (in seconds)
CURATOR_GROUPSDiscord roles authorized to use the bot (comma separated)


Running


$ dcom

Roadmap


  • discord.py uses asyncio, while I use lightsteem to broadcast transactions. lightsteem or other steem libraries blocks the asyncio loop. It's not making a huge difference on a small scale like this, but it would be good to have an async solution here.

  • Adding more generic commands. These commands should be kind of commands that every community can benefit. Expanding more commands also needs some refactoring on the code to make the commands modular.

  • Integration with blacklist APIs

  • Implementation of an internal blacklist system.

Commits


https://github.com/emre/dcom/commits/master

Sort:  

hey dear hz emrebeyler, i want to learn how much money i can earn with use this holy bot , thank you very much xd

  • Thank you for this great service to the open source and steem communities.
  • The only thing that I can think would complement this article is a link to a tutorial on how to create a discord bot.

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]

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

nice! great work. I'll try it.

Hi @emrebeyler!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Hey, @emrebeyler!

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!

Great work discord bots are very popular

Posted using Partiko Android

This is an excelent tool, thanks for your work for community!

Posted using Partiko Android

Time is a river,this is one year old !BEER



Hey @emrebeyler, here is a little bit of BEER from @isnochys for you. Enjoy it!

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 63851.10
ETH 3059.36
USDT 1.00
SBD 3.85