The TravelFeed Curation Bot 2.0 is based on the bot for curated tags that I released several months ago. While I tried to keep the bot for curated tags easily adjustable for other projects, the increasing complexity of the new release has required many code changes specific to TravelFeed which is why I decided not to merge the changes to the bot for curated tags but to fork the repository with the TravelFeed Github account and rename it to TravelFeed Curation Bot. The new bot goes much further than what the bot for curated tags was able to do and automates many time-consuming routines so we can focus on what really matters: Quality curation!
Repository
https://github.com/travelfeed-io/travelfeed-curationbot
New Features
Discord Integration
We use a Discord server to coordinate our curation. The most important feature of the new release is the integration as a Discord bot. Having the asynchronous discord.py library work together with the synchronous beem library was a challenge that I solved with integrating the janus library which creates a separate thread for the Blockchain stream.
The Discord integration offers the following features:
- Streams posts from the blockchain and writes eligible posts in the Discord channel #post-feed. All posts that have received a comment due to not fitting our criteria are excluded, but the authors have the option to reply to the bot comment with
!tfreview
to have their post also appear in #post-feed for manual review. For all posts sent to #post-feed the number of honourable upvotes and resteems that the author received from @travelfeed within the past 7 days is fetched and sent along with the word count and location (see below) to give the curator a quick overview. - Posts in #travel that miss the tag #travelfeed are sent to the Discord channel #ad-feed (once per author). Curators can review these posts and initiate a curation routine to give them a small upvote and leave a comment if there is excess voting power
- Curators can initiate curation routines by adding a reaction to the post links posted by the bot in #post-feed and #ad-feed
- Several bot commands can be called to initiate the same curation routines or to get additional information such as the current voting mana or the amount of upvotes received by a user from @travelfeed in the past 7 days.
Automating curation routines
Common curation routines that were previously executed manually on Steemit can now be called by authorised curators by either commenting on the post in question with their personal account on Steem or by using a bot command in Discord or by adding a reaction in Discord (see above). This will also enable us to recruit new curators without handing them the keys for @travelfeed.
All routines are added to a queue to avoid failed transactions due to block limits. A documentation for the available curation routines is available here.
Automating reward calculation
At @travelfeed we pay out half of the liquid author rewards generated by curation posts to the featured authors. So far, we have been doing this manually, now the bot calculates the amounts each author will receive. After HF20, I had to rewrite the code for it to be able to calculate not only SBD, but also Steem and mixed payouts correctly. As soon as this has been tested for some more time, I will implement automated transfers.
The reward calculation is done automatically every 6 hours or can be initiated manually for any amount of past days by a bot command.
Automating categorising
At @travelfeed we publish one curation post a day with a different theme for every day of the week. Four of these are based on the location of the featured posts. In the past, we have been putting each curated post in the right category manually and sometimes had to search the entire feed from the past 7 days if we were missing a post. The new feature extracts the location of a post from GPS coordinates if a steemitworldmap code snippet was set and puts it in the right category upon upvoting.
Sometimes, we don't have enough curated posts for a curation post. In these cases, we were so far looking through the not-upvoted posts in the feed manually trying to find a match, now a bot command scans the 100 latest posts in #travelfeed for matching the curation post theme.
GitHub Account
Note to Utopian reviewer: While I forked the bot to travelfeed-io and sent the pull-request today, the oldest commits to this update are older than 14 days. This is due to the circumstance that Steem nodes were hardly usuable for more than a week before and after HF20 and I had to pause development.