How to Create Your Own Curation Trail Bot (Part 1- Background)

in #curation7 years ago (edited)

Recently, I began the search for a curation trail bot I could maintain myself in order to follow quality curators. Today's post is the story of that journey. If you like, you may skip to Part 2 for a step-by-step tutorial on how to set up the bot. Enjoy!

Steemit Bots

Voting bots are both tools and sources of controversy across Steemit. The ethical debate over pay-for-vote bots will probably always be present across this community. During my time on Steemit, I've encountered many bot accounts, but I've learned to appreciate some of their efforts.

Let's set aside our love or animosity toward those bots for a moment and consider the other automated services that every Steemian can take advantage of.

Voting Services

First, there's Steemvoter. The site offers automated voting for any account. Simply sign up, provide an active key, and set rules that define which accounts you'd like to vote for and what percentage of your vote you'd like to apply. That's it. Your account will automatically begin voting for your specified accounts. Many communities use this service as a method of support from their members. The most notable is the Minnow Support Project. To become a full member, you must set a Steemvoter rule for their main account.

I personally use Steemvoter to provide votes to several accounts that I have been following closely since I've joined Steemit. I recommend using Steemvoter for accounts that you know produce quality content 100% of the time since the votes are technically blind. You may certainly revoke votes that have been performed automatically, however you may not always remember to check after your voting record.

Then there's Streemian. Streemian allows you to "follow" the voting pattern of another account. Simply sign up, set rules, and your account will begin voting.

Notice I said "simply sign up." Let's take a moment to appreciate how simple a sign-up process should be. I did not have a simple sign up experience with Streemian. In fact, I'm still not registered for the service because of a mishap in their registration process.

Frustration

When I first signed up, I registered with a typo in my email address. It's a rookie mistake, I know. I was unable to follow through with verification of my account via the email sent to me during the registration process. There is no way to mitigate this. If you try to register again, you can't since it associates your Steemit username with your account. Apparently the email confirmation never expires because it's been months and I still can't register. Also, I learned from several other members that Streemian's support leaves much to be desired. I have emailed them asking for this issue to be resolved, but to no avail.

This means I'm unable to take advantage of the services Streemian has to offer. I enjoy supporting a variety of accounts across Steemit, but I am often unable to vote on and view everything that I would like to. Therefore, I still wanted to be able to follow the voting patterns of some accounts that I trust as quality curators. So began my journey to finding an alternative.

So far, I have not found another service that offers what Streemian does. However, in the process of searching, I discovered several GitHub projects created by Steemians for standalone curation bots. Initially, I was unsure about trying them out since I have very little experience coding, but eventually I decided that Steemit has opened many doors for me, why not embrace change and take a chance on learning something new?

Here Come the Bots

So off I went. First on the list was FOSSBot, a project by Steemit user personz. I appreciated that there were step-by-step instructions for installing the bot on Heroku (another site I had never heard of before setting out on this adventure). It boasts some impressive curation abilities and an intuitive user interface once installed, so I thought it might be able to accomplish my goal of trailing other accounts.

To make a long story short, FOSSBot casts votes based on a scoring system. You define what characteristics of posts you value most, e.g. character length, number of images, user reptuation, and then assign them a relative weight. FOSSBot scans the blockchain and gives new posts scores based on your defined metric. If a post exceeds the moving average, it casts a vote.

On the surface this sounds simple, however it can get very complicated depending on the constraints you apply. One of the metrics involves whether another user has already voted on the post, so I thought I could just use this rule to get FOSSBot to follow a trail. Unfortunately since it only scans new posts, this goal was unattainable. There may be some settings I could change to make it work, but I decided to sideline FOSSBot and look elsewhere.

If you're interested in giving FOSSBot a try, it's pretty easy to set up. Check out the GitHub page for instructions on how to install it.

Qurator Saves the Day

Enter Qurator, a relatively new project, spearheaded by Steemit users @gingerninja and @scrooger. I joined Qurator because I thought the model for their bot votes was interesting. Pay a one-time fee upfront and get upvotes on all of your future posts. They offer tiered voting, so there are incentives for delegating to the bot and participating in the community, so I decided to give them some support (you can check out their group here).

I became curious about how their bot works, so I poked around and discovered the script on which their bot is based. I assumed the bot was similar to Steemvoter, so I knew it wouldn't be exactly what I was looking for, but I checked out the GitHub page anyway.

On a whim, I browsed the other projects by the bot's author, inertia and discovered a gem. There it was. A curation trail bot called Dr. Doogie. Armed with my new knowledge gained from the installation of FOSSBot, I decided to give it a try.

A Learning Experience

The instruction set included with Dr. Doogie was a little more vague than that of FOSSBot. It's a Ruby-based script, so the instructions are geared toward running the bot on your own Linux server. I checked to see if Heroku was compatible with Ruby (it is), and I decided to try installing it. Heroku has an excellent tutorial on how to install a Ruby app on their server. It's a great walkthrough, and I learned a lot just from performing those steps.

Unfortunately, I was unable to get the app to run on Heroku. My limited coding knowledge forced me to abort this effort and return to how the instructions originally said to install the bot- on Linux.

Thankfully, I have learned over the years how to install Linux on a computer. I had a spare PC lying around, so I began the process of installing Ubuntu Linux on it. In no time, I was able to follow the instructions in the readme file on the GitHub page for Dr. Doogie. I downloaded a great editor program, Atom, to use for the file modifications, and after some poking and prodding, I typed the final command to start the bot.

When I received the message that it was working, I was still skeptical, so I waited until the account I was trailing voted. I kept refreshing the Steemd page watching and waiting. Finally, a vote came through. I opened the terminal where I had the bot running, and there was a message there! I rushed to the Steemd page for my account, and there was the vote! The bot was working!

I was in touch with @inertia and @gingerninja throughout this process, and I want to thank them for their help and responses to my constant questions. I currently have three instances of the bot running now in order to trail three different accounts at different weights. The bot has been working flawlessly for almost a week now. I'm very excited to be able to share this story with you, and I would like to now offer a tutorial on how to set up your own bot.

@inertia has also created a Steemvoter-like bot that will simply follow accounts and upvote them, and I discovered that the user @bitcoinparadise wrote a very nice tutorial on how to set that bot up, so if you're interested in that, check out his post here.

If you'd like to create your own curation trail bot, check out Part 2 of this post, which contains the tutorial!


The bot has been extremely useful, as I've been traveling this week for a conference and haven't had as much time to spend on Steemit. The bots have allowed my account to share contributions with hundreds of deserving users while maintaining a solid stream of curation rewards as well. I can only hope that I'll continue to learn more about bots and coding as I move forward!

Thank you for reading this stream of consciousness. I have learned to appreciate the stories behind what seem like simple feats. Often there are fantastic processes that lead to accomplishments, so I thought I'd share this one with you.

As always, thank you for stopping by. Let me know if you have any questions about this process. I'll be happy to help you in the comments of this post or the tutorial post.

Read Part 2 by clicking here

Footer

Sort:  

Good information, Checking back for part 2 tomorrow! As someone learning Java, I want to see how it works!

Thanks for stopping by. Hopefully Part 2 will provide you with some background info on how at least one bot works. Again, there are many different kinds of bots for Steemit, so feel free to do some searching in the meantime! See you tomorrow!

Well, here you go as you promised with this post.

I will go through it and also saw you put the second part also on your blog.

Who knows, maybe i will be like those kids in the picture after i will read it ;-)

Cheers

#theunmentionables

Yes! Part 2 is available now, so feel free to check it out and let me know if you have questions.

I really hope you're as excited as those children in the picture!

I sure will if it works how i think it do ;-).

Hope next days will get to read them and see if i can do smth.

Thanks

Great! Let me know if you need any help!

it is nice to have tutorials written from a beginner. I too am very interested in trying a bot...but feel a bit daunted. @qurator is awesome...and the team behind it.
thanks @ethandsmith...looking forward to part 2.

I hope you'll be able to take advantage of Part 2! It's been posted now, so check it out and give it a try!

Hey Ethan,
Nice piece of work here, I look forward to seeing part 2. I'm not a techie but maybe in the future I will give something like this a shot. Thanks for sharing,
@sultnpapper

Thanks for stopping by! I hope Part 2 will be useful for many people. Again, I'm not a developer or coder, but with a little bit of reading and lots of trial and error, I figured it out. I hope you'll be able to also!

This is really useful - have been wondering about this recently as I don't have much time at the moment - will keep an eye out for part 2!!

Yes. This bot is especially useful if you want to continue to generate curation rewards when you don't have time to manually vote! Hopefully you'll be able to make it work. I'll let you know when Part 2 drops!

Also congratulations on the birth of your child!

@ethandsmith this is great! thank you for doing this. So in Part 2 you'll show how you'll do this? We just launched our MoonBot and would be curious about this.

Yes. You can expect part 2 sometime in the next few hours. I'll go through the step by step process of how I got the bot up and running, as well as point you to more resources about Steemit bots. I'll check out your bot account. I'm always interested in getting involved with new projects. Thanks for stopping by.

Thanks Ethan - on both counts!

I am so jealous of people with stronger tech skills than I. I used to be the "techy" one but then chose the marketing path instead of the development path and here I am. :(

Well the good news is that I'm not a programmer either. That's what this post series is for. I like to bring access to neat things like bots to people who aren't programmers. I'm sure with a basic understanding of technology and Steemit and computers, you would be able to perform this same process!

Plus marketing knowledge is very valuable these days, so I'm sure there has been a tradeoff in your knowledge. Thanks for your comment!

Copywriting and marketing skills help me make a living, but I have yet to find a way to use them to truly contribute to the steemit platform and community.

It looks like quite an adventure! Oh, the thrill of seeing a program operating according to plan. Congrats on your first bot. If I can chip off some time, I would like to explore this also. @ironshield

You can say it again. That moment when you feel relaxed and bot carries out your duties @ethandsmith thanks for this @ironshield

Hey you, habla Español?

It is a good feeling. Since I'm confident in the curation abilities of the accounts I'm trailing, I know that my bot is supporting quality content.

Yes boss. Quality is what we need @ethandsmith

Oh yes. The sweet, sweet victory of having something run the way you want it to. haha

Thanks so much. I've actually got three instances of the bot running smoothly now on one machine in order to trail three different accounts. It's been great so far to support so many great posts, and I'll find out soon how the curation rewards work out.

I hope part 2 will help you explore your options with bots!

Waiting for the second part now :)

I hope you'll enjoy it! See you tomorrow for Part 2!

I'm trying to learn about bots so this is perfect timing! Resteemed and following, thanks.

I hope my tutorial will be helpful. I'm going to provide many links to other resources that may help with the bot process also. Again, I'm not a coder, but I've definitely enjoyed using other people's groundwork to develop tools for myself on this platform. Thanks for the resteem and the follow. I'll see you back here for Part 2!

This was super helpful. I recently started using qurator and minnowbooster though I am yet to delegate SP to them.

I will ensure I follow through.
Thanks man

Qurator and minnowbooster are both great projects, as is @minnowsupport, which I mentioned also. There are some great efforts across Steemit to use bots for good! Thanks for taking the time to read my post.

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 62676.37
ETH 2581.43
USDT 1.00
SBD 2.72