Intro
FOSSbot is a free, open source and highly customizable Steem voting bot anyone can run for free and adjust to automatically vote for posts they like.
In this guide I will show you step by step now how to install and start running your own FOSSbot for free in 5 - 15 minutes.
Bots are a somewhat disputed topic on Steem.
Why? 3 reasons mainly I think
1 Some argue that they are filling the blockchain with junk data.
2 Some believe they give the bot owner an unfair advantage over regular human users
3 Some people find any kind of seemingly autonomous acting robot creepy
All 3 are understandable feelings.
But lets think of the bot as an extension of the owner instead of the bot being it's own individual. Suddenly the idea seems much friendlier. Right?
The unfair advantage of running a bot can be eliminated by providing an easy to use open source bot for every Steem user.
@personz has done a great job creating FOSSbot (Free Open Source Steem bot)
You can find FOSSbot on Steemtools http://steemtools.com/ or go straight to the page on Github
https://github.com/Steem-FOSSbot/steem-fossbot-voter
FOSSbot can run as a Heroku app or you can install the docker version on your desktop, laptop, server, toaster, whatever.
Heroku is a Cloud Application Platform that provides free limited accounts. If you just want to run a voting bot or a few, then these free accounts are great.
I was not familiar with Heroku at all. The setup was a bit of a learning process and I'm sure others who have never used Heroku will be a bit confused too.
Don't worry. I'll walk you through it. :) Lets begin!
Install
Create a free Heroku account to host your bot.
https://signup.heroku.com/login
once your email is confirmed and you are signed in you can install FOSSbot.
Follow the link below.
https://github.com/Steem-FOSSbot/steem-fossbot-voter/blob/master/docs/installation.md
You will see a purple button that says "Deploy to Heroku".
Click on it. This will automatically take you to the Heroku site and begin the installation process.
The Heroku page will look like this
Here you will have to fill on basic details for your new bot.
First name it whatever you want. I'm naming mine "freshbot23" for now.
you will also need your private Steem posting key .
Find your private posting key by clicking on your Steem wallet. Then click on "permissions" and next to where it says "posting" click on "show private key" to reveal your Steem private posting key.
Then set your configuration details
STEEM_USER:
Your user name goes here, without the "@" symbol.
POSTING_KEY_PRV:
Your private Steem posting key goes here.
BOT_API_KEY:
You can set any alphanumeric password you like to protect your bot settings.
EMAIL_ADDRESS_TO:
Put your email address here if you want to get emails every time the bot votes. I'm leaving mine empty because I don't want the emails.
EMAIL_ADDRESS_SENDER:
You can spoof the email address of the bot but since I don't want emails I'm leaving this empty too.
SENDGRID_API_KEY:
Leave this as default 'none' for now since we are not setting up emails.
COOKIE_SECRET:
Make this a random string to secure your sessions cookies. It doesn't matter what it is but make it unique
VERBOSE_LOGGING:
Here you can set what type of error logs you want the bot to create. Leave off unless you are checking for errors. This will make your bot faster.
Once you have entered these settings you are ready to deploy your bot.
At the bottom of the page you will see a "deploy" button that looks like this:
Click it and the install will begin.
The install can take a few minutes. When it's done the page will look like this:
Once successfully deployed, click on "manage app" at the bottom of the page
The next page will look like this:
Congratulations! You have just installed your Steem voting bot. Now we just have to tell it what to vote for.
Click on "Open app" in the top right corner and you will be taken to the FOSSbot configuration page.
Enter the bot API key you set earlier to unlock the configuration page and change settings.
You will see the configuration page unlocked.
Click on "Edit Algorithm"
Here you can add custom rules to your bot and edit whitelists or blacklists for authors, categories, keywords and more.
Creating your own algorithm requires a deeper understanding of how the FOSSbot metrics work. I suggest reading the official documentation here:
https://github.com/Steem-FOSSbot/steem-fossbot-voter/blob/master/docs/algorithm.md
Luckily for us, they have also provided some pre made examples here:
https://github.com/Steem-FOSSbot/steem-fossbot-voter/blob/master/docs/usage-guide.md
We will use an algorithm that votes for new "good quality" posts in English by users with "good" reputation.
Scroll down the "Edit Algorithm" page until you see the import box.
Copy the algorithm / code below into your import box.
{"weights":[{"key":"post_num_words","value":"-0.5","lower":"150","upper":"700"},{"key":"post_num_links_image","value":"10","lower":"0","upper":"5"},{"key":"post_num_links_video","value":"-25"},{"key":"author_repuation","value":"1"},{"key":"post_has_english_language_use","value":"50"}],"authorWhitelist":[],"authorBlacklist":[],"contentCategoryWhitelist":[],"contentCategoryBlacklist":[""],"contentWordWhitelist":[],"contentWordBlacklist":[],"domainWhitelist":[],"domainBlacklist":[]}
Then click on the blue "Import This Algorithm" button.
Now that your algorithm is set we will create a scheduled task to run our bot every hour. For this we will go back to the Heroku dashboard of your application.
The link would be: dashboard.heroku.com/apps/your-bot-name-here
We need to click on "Resources" in the top menu. Then towards the bottom of the next page click on "Heroku Scheduler".
Next click on "Add new job"
In the text box enter this line:
node bot.js
Now select the following options:
Dynosize: Free (if you are using a free plan)
Frequency: Hourly
Next Due: Choose whenever you want.
Click save and your bot will begin running once every hour.
You can track your votes on the FOSSbot dashboard's "Stats" page or visit http://steemd.com/ @ yourname to see your votes on the live blockchain.
Feel free to ask here if you have any questions. I look forward to comments about this or other bot stuff.
You can see my test bot in action here @irbot
Congratulations. You now have your very own bot that works when you sleep :)
I will be learning more about the FOSSbot algorithm and will post instructions on how to install the "docker" version of FOSSbot on your own device without Heroku soon.
I hope you liked this tutorial. You might also like my instructions on uploading videos to IPFS and Steem without having to use and pay Dtube.
@camb/piglet-update-2-uploading-video-to-steem-and-ipfs-without-dtube-tutorial-instructions
Please vote @camb for witness https://steemit.com/~witnesses so that I can contribute my resources to securing the Steem network for us all.
Together we are strong!