Create A Free, Open-source Voting Bot For Steemit

Written by crypto-stella | Published 2017/10/17
Tech Story Tags: bots | programming | steemit | software | open-source

TLDRvia the TL;DR App

You know what the word, bot means but what about FOSSbot? FOSS stands for free, open-source software. This Steem voting bot which @personz created is free and open-source. I just deployed my FOSSbot a few days ago and wanted to share this incredible resource with you so you can benefit also. The reason I prefer this voting bot is that I have control over my private keys and don’t have to trust anyone else.

GitHub

Heroku

Heroku is a cloud provider. This means you will not have to run your bot on your own computer. It will run on the Heroku cloud. When creating your free Heroku account, it will ask for your credit card information. This is because some dynos can cost money on Heroku but steem-fossbot-voter was designed to operate within the free account. Even several copies will not break into the paid services that Heroku provides. It will not use your credit card without you upgrading your account manually. By the way, I don’t work for Heroku_._ I’m only a user. So far, I’m using the voting bot as a free account.

In GitHub, go to the steem-fossbot-voter project.

Scroll down until you get to ‘Installation’.

CLICK THE PURPLE BUTTON: DEPLOY TO HEROKU

FILL IN THESE FIELDS:

STEEM_USER: Put your Steem account name here without the @

POSTING_KEY_PRV: Your private posting key goes here

BOT_API_KEY: a password for your botNote: this should not have any spaces and be random, for example:AOUNA039NA9SDJ

THAT IS ALL THE REQUIRED INFO YOU FILL IN.

You can leave these blank: EMAIL_ADDRESS_TO EMAIL_ADDRESS_SENDER SENDGRID_API_KEY

You can leave these as the default:  COOKIE_SECRET VERBOSE_LOGGING

HIT THE DEPLOY BUTTON

Wait a few minutes. The deployment can take several minutes and below the deploy button you will see it happening. Give it time to complete. If you have a failure because of sendgrid you can contact Heroku support and they will fix it. I had to create a support ticket in Heroku for the sendgrid issue, but it was resolved quickly.

The reason you need to fork the project is to ensure that your voting bot gets automatically updated when changes are made to the GitHub project.

Return to the steem-fossbot-voter on GitHub.

At the top right you will see a grey button that says FORK.

Click that FORK button to create your own repository. You can use it for one or more bots you only have to fork it once.

Now that it is forked you will return to Heroku and click the purple hexagon icon for your voting bot application in the Dashboard.

Inside the Heroku dashboard for that app you will see a DEPLOY tab, click it.

Select GitHub as the deployment method and type steem-fossbot-voter in the search box.

Select your repository when it finds it.

To automatically update your voting bot when @personz makes a change scroll down and click ENABLE AUTOMATIC UPDATES.

Now you need to make your bot vote hourly, and also tell it which authors to vote for. There are many different aspects of your bot’s algorithm to configure, but for simplicity, we are only going to set the bot to vote every hour, and to vote for certain authors.

Go to the RESOURCES tab in your Heroku Dashboard and click on the HEROKU SCHEDULER.

  1. A new browser tab or window will open with the add-on settings.
  2. Click the Add New Job button.
  3. Type in node bot.js in to the text box.
  4. Set the frequency from Daily to Every Hour.
  5. Click the Save button.

The task has now been created.

To add authors to your voting bot, you need to CLICK THE OPEN APP BUTTON

Then CLICK ON EDIT CONFIG

Add the names of authors to a whitelist, putting a blank space in between each name.

YOU’RE DONE!

This is a very barebones tutorial, and to get the most out of your voting bot, you’ll need to experiment with the different parameters of the algorithm.

If you’re on Steemit, you can vote for @personz, the creator of the STEEM FOSSbot Voter: https://steemit.com/@personz

If you find any errors in my instructions, let me know. I only deployed this bot a week ago, and I’m very new to this. I combined the instructions from 3 people to create this tutorial. By the way, Steemit has been having some technical issues this week, so I would advise waiting a bit to deploy your bot.


Written by crypto-stella | freelance tech writer, artist and community builder
Published by HackerNoon on 2017/10/17