Setup Steeming Bot for @Automation

The @automation bot is a project courtesy by @yehey a Steem Witness. This is the step-by-step procedure on how to setup a bid voting bot to help minnows in steem blockchain.

Please note. This is two different bot script created by two programmers, the first one is using Dr Otto by @inertia and the second is PostPromoter script by @yabapmatt. You decide which is best for your project. I love both program works as intended, Dr Otto is based on Ruby while PostPromoter is based on JavaScript.

Let’s start the installation and setup.

In Ubuntu server, I always start using a “screen -S” session. The -S is a parameter to name my session as “”

$ screen -S [enter]
$ screen -ls // this is to show the current screen sessions.

Step 01. Begin installing dependencies.

$ sudo apt-get update

$ sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

Step 02. Clone Ruby

$ git clone ~/.rbenv

You will result something like this.

Cloning into ‘/home/emil/.rbenv’…remote: Counting objects: 2714, done.remote: Compressing objects: 100% (8/8), done.remote: Total 2714 (delta 0), reused 8 (delta 0), pack-reused 2706Receiving objects: 100% (2714/2714), 507.91 KiB | 0 bytes/s, done.Resolving deltas: 100% (1695/1695), done.Checking connectivity… done.

Step 03. Follow up setting the environment.

$ echo ‘export PATH=”$HOME/.rbenv/bin:$PATH”‘ >> ~/.bashrc
$ echo ‘eval “$(rbenv init -)”‘ >> ~/.bashrc
$ exec $SHELL

Step 04. Clone Ruby plugins

$ git clone ~/.rbenv/plugins/ruby-build

You should see this when it’s done.
Cloning into ‘/home/emil/.rbenv/plugins/ruby-build’…
remote: Counting objects: 8615, done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 8615 (delta 8), reused 19 (delta 4), pack-reused 8592
Receiving objects: 100% (8615/8615), 1.81 MiB | 0 bytes/s, done.
Resolving deltas: 100% (5478/5478), done.
Checking connectivity… done.

and run this command.

$ echo ‘export PATH=”$HOME/.rbenv/plugins/ruby-build/bin:$PATH”‘ >> ~/.bashrc
$ exec $SHELL

Step 05. Let’s install Ruby // Check the latest version of Ruby.

$ rbenv install 2.5.0 // this will take a some time, please wait.
Downloading ruby-2.5.0.tar.bz2…
Installing ruby-2.5.0…
Installed ruby-2.5.0 to /home/emil/.rbenv/versions/2.5.0

$ rbenv global 2.5.0

Step 06. Install bundler with gem (this will take some time)

$ gem install bundler
Fetching: bundler-1.16.1.gem (100%)
Successfully installed bundler-1.16.1
Parsing documentation for bundler-1.16.1
Installing ri documentation for bundler-1.16.1
Done installing documentation for bundler after 4 seconds
1 gem installed

$ rbenv rehash

Step 07: Install Radiator

$ gem install radiator

Step 08 Now we are ready to download dr otto and run, here are commands

$ git clone
Cloning into ‘drotto’…
remote: Counting objects: 946, done.
remote: Total 946 (delta 0), reused 0 (delta 0), pack-reused 946
Receiving objects: 100% (946/946), 5.21 MiB | 2.74 MiB/s, done.
Resolving deltas: 100% (542/542), done.
Checking connectivity… done.
$ cd drotto
$ bundle install // wait to complete the installation.

Step 09. Once the bundle install is complete. Open config.yml to update the steem account, posting key, private key and other configuration.

/drotto$ nano config.yml

and also update support/ to customize the confirmation comment.

Step 10. Start the program.

/drotto$ rake run
WARN: Unresolved specs during Gem::Specification.reset:
ffi (>= 1.9.18, ~> 1.9)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
rake aborted!
Gem::LoadError: You have already activated bitcoin-ruby 0.0.18, but your Gemfile requires bitcoin-ruby 0.0.14. Prepending `bundle exec` to your command may solve this.
/home/yehey/drotto/lib/drotto.rb:1:in `’
/home/yehey/drotto/Rakefile:4:in `’
Caused by:
LoadError: cannot load such file — krang
/home/yehey/drotto/lib/drotto.rb:1:in `’
/home/yehey/drotto/Rakefile:4:in `’
(See full trace by running task with –trace)

Researching this error…

Using this command fixed the issue above. We are in business!

/drotto$ bundle exec rake run
{ :INF => “Remaining voting power: 100.00 % (recharged 2.00 % since last vote)” }
{ :INF => “Last vote: 1032 minutes ago; 0.0 minutes of recharge power unused in 100.00 %” }
{ :DBG => “Transactions found: 12” }
{ :INF => “Looking for new bids to automation; starting at block 20250487; current time: 2018-02-28 07:39:39 UTC …” }
{ :INF => “Last block in this timeframe is: 20259415 (8928 blocks).” }

Completed the install using Dr Otto script.

And the 2nd option is using PostPromoter by @yabapmatt. Follow the guide.

$ git clone
$ npm install

$ npm install
npm WARN saveError ENOENT: no such file or directory, open ‘/home/yehey/package.json’
npm WARN enoent ENOENT: no such file or directory, open ‘/home/yehey/package.json’
npm WARN yehey No description
npm WARN yehey No repository field.
npm WARN yehey No README data
npm WARN yehey No license field.
up to date in 0.073s
It corrected the error when I run inside the postpromoter folder.

/postpromoter$ npm install
> steem@0.6.7 postinstall /home/emil/postpromoter/node_modules/steem
> postinstall-build lib && cross-env scripts/post-install.js
Running post install.js
added 140 packages in 4.033s

Configuration. First copy config-example.json to config.json:
$ cp config-example.json config.json

Then set the following options in config.json

Edit the following file. // for vote reply
blacklist // list of blacklisted account.

The file should contain only one steem account name on each line and nothing else as in the following example:

$ nodejs postpromoter.js

First time try, got this error.

~/postpromoter$ nodejs postpromoter.js
throw err;
Error: Cannot find module ‘steem’
at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object. (/home/emil/postpromoter/postpromoter.js:2:15)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)

To correct the error above. I re-run “npm install” inside postpromoter folder.

~/postpromoter$ nodejs postpromoter.js

Excellent. That works!

You can send a minimum 0.1 SBD/STEEM to @automation with a post link in the memo field to get a share of a 100% vote. Votes every 2.4 hrs.

I hope you can join me supporting this project by delegation of SP to @automation . This project is initiated by @yehey.

Next, create a marketing campaign introducing  @automation bot service is up and running. Ready to serve.


  • Thank you to @inertia and @yabapmatt for the technical assistance.
  • When I prepare my setup. I read this article
  • and this one
  • @yabapmatt –



Founder, QUE.COM Game Studios. | Founder, a Shout for Joy! | MAJ.COM Management of Assets and Joint Venture | More at KING.NET Ideas to Life | Network of Innovation | Send your Tip to my Bitcoin/Ethereum or other crypto currency.

Leave a Reply