Introducing open source upvote bot - @turbot

in steemdev •  8 years ago 

Motivation


I have been experimenting steem-python and steem blockchain to see
what's going on under the hood. We do have a lot of upvote bots in the scene,
yet I had no idea how they work in detail.

With the help of awesome steem-python package, I have managed to create
a simple upvote bot. @turbot

This bot is not the best bot available and it won't be. it's pretty miserable at the moment as you can see from its eyes in the logo. But it can be a good starting point for potential steem blockchain developers.

Turbot does the following though:

  • Listen the blockchain for new blocks
  • Process these blocks and transactions.
  • If a transaction directed to the bot account, turbot spots it and upvotes
    the post in the memo.
  • Turbot upvotes the related content with a random vote weight between 1-100.
  • You can safely start/stop the bot. It stores the state and do not
    make duplicate processing on already processed blocks.

Refunds


Turbot refunds SBD if:

  • the post is archived
  • the post is already upvoted
  • transaction doesn't cover the minimum SBD
  • the post URL is invalid

Installation and Running


$ virtualenv -p python3 turbot
$ source turbot/bin/activate
$ git clone https://github.com/emre/turbot.git
$ cd turbot/turbot
$ vim settings.py # edit accordingly
$ PRIVATE_POSTING_KEY=[BOT_ACCOUNT_POSTING_KEY] ACTIVE_KEY=[BOT_ACCOUNT_ACTIVE_KEY] python turbot/turbot.py 

Configuration Parameters


MINIMUM_SBD_FOR_UPVOTE = float(0.002)
UPVOTE_WEIGHTS = (+1, +100)
BOT_ACCOUNT = 'turbot'

@turbot is now online for experimental usage, you can use it, it doesn't have a good STEEM power since
his wallet is very tiny but he will make sure you will get the upvote. :)

Forgot to mention, @turbot's source code is located under github. see @emre/turbot to study its source code.

Warning: This software is not production ready and may contain bugs. It's an experimental project for me to learn the steem block chain. You should make required checks and enhancements if you want to use it in production.

Source: Logo of the turbot

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Great job! You might like to take a look here

This post has received a 1.16 % upvote from @booster thanks to: @emrebeyler.

This post has received a 3.84 % upvote from @boomerang thanks to: @emrebeyler

@boomerang distributes 100% of the SBD and up to 80% of the Curation Rewards to STEEM POWER Delegators. If you want to bid for votes or want to delegate SP please read the @boomerang whitepaper.

This post has received a 13.33 % upvote from @upgoater thanks to: @emrebeyler.

This wonderful post has received a bellyrub 1.16 % upvote from @bellyrub thanks to this cool cat: @emrebeyler. My pops @zeartul is one of your top steemit witness, if you like my bellyrubs please go vote for him, if you love what he is doing vote for this comment as well.

This post has received a 12.10 % upvote from @lovejuice thanks to: @emrebeyler. They love you, so does Aggroed. Please be sure to vote for Witnesses at https://steemit.com/~witnesses.

Birthdaypost !BEER



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