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 automation.bot” session. The -S is a parameter to name my session as “automation.bot”

$ screen -S automation.bot [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 https://github.com/rbenv/rbenv.git ~/.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 https://github.com/rbenv/ruby-build.git ~/.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…
-> https://cache.ruby-lang.org/pub/ruby/2.5/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 https://github.com/inertia186/drotto.git
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/confirm.md 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.

Installation
$ git clone https://github.com/MattyIce/postpromoter.git
$ 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.
comment.md // 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:
blacklisted_account_1
blacklisted_account_2
blacklisted_account_3

Run
$ nodejs postpromoter.js

First time try, got this error.

~/postpromoter$ nodejs postpromoter.js
module.js:328
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.

REFERENCES:

  • Thank you to @inertia and @yabapmatt for the technical assistance.
  • When I prepare my setup. I read this article https://steemit.com/radiator/@orionsbelt/tutorial-how-to-run-luckyluke-bot-by-inertia
  • and this one https://steemit.com/tutorial/@orionsbelt/tutorial-how-to-run-dr-otto-bot-used-by-booster-bellyrub-discordia
  • @yabapmatt – https://github.com/MattyIce/postpromoter

 

Support @QUE.COM

Founder, QUE.COM Game Studios. | Founder, Yehey.com 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