I have been trying to move away from 3rd party steem applications and the only one left was Steemvoter. That's why I have vitalized the curobot - your personal curation bot on steem blockchain.
It has Steemvoter's capabilities but also has additional features like blacklisted tags. (Example: Don't vote posts tagged with X)
Installation
(sudo) pip install curobot
You're all set. (You need python 3.6+)
Running
$ POSTING_KEY=private_wif curobot config_file.json
Configuration Details
{
"rules": [
{"author": "foo", "weight": 50.0, "vote_delay": 30},
{"author": "bar", "weight": 50.0, "vote_delay": 30},
],
"account": "emrebeyler",
"minimum_vp": 80,
"nodes": ["https://api.steemit.com"]
}
rules
author | weight | vote_delay | bad_tags |
---|---|---|---|
account username | vote power in percentage | X minutes before vote | list of blacklisted tags |
account
Voter account name
nodes
RPC nodes to connect. Default is api.steemit.com
minimum_vp
Bot should sleep at some point to prevent draining the VP. I use 80.
what's new?
Removed the MySQL dependency. Now, "already upvoted" check will be done before upvoting by looking at post.active_votes
Added support for blacklisted tags. If your favorite author spams the feeds with a specific tag, you may skip voting on that tag.
Private posting wif are now transferred to the script with the environment variables. More secure way to pass that information.
Added a minimum VPcheck posts. If somehow the transaction listener lags, curobot now skips the old posts.
Added a minimum VPcheck before voting to prevent draining the account's voting power.
Implemented a simple mutex for efficient voting between multiple threads to get around with the "3 seconds 1 vote transaction" rule.
Better exception handling and retry mechanism on upvote transaction.
Related commits
Technology Stack
Python3.6 and steem-python-dshot library.
Roadmap
I want to add more complicated features for rules.
- Follow Comments
- Formulas for the weight
- Different conditions to vote.
open to more ideas.
How to contribute?
Use github issues to create pull requests. If you have any feature ideas or bugs to report, of course use also Utopian :)
I have frozen my Steemvoter account started using Curobot with these updates. So far it works well. Feel free to use it and give feedback about it.
Posted on Utopian.io - Rewarding Open Source Contributors
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
thanks
Hey @ms10398, I just gave you a tip for your hard work on moderation. Upvote this comment to support the utopian moderators and increase your future rewards!
Nope, doesn't work, didn't get an upvote from you!
Include downvote features.
Comment Upvotes? Do you distinguish between main posts and comments?
Multiaccount feature?
Just dropping words now..
Also works with downvotes. Just give the weight negative. (Ex: -5 will downvote with %-5)
Comment upvotes are not supported at the moment. Only works with main posts.
That's a todo. Currently it can be done by duplicating configuration and running multiple curobot instances. A waste of bandwidth but it will work until I add it.
Let's see what I can do... :)
Thanks for the feedback.
For more accounts you will need to separate the voting and the blockchain read functions.
And create a DB.
store there when to vote what with which user.
Until when it should try this (max. 6.5 days), if vp is low.
And that would introduce the MySQL dependency again.. Sorry:)
ah, not really. We can handle multiple rules for different accounts in the JSON config. I really don't want any database dependency. :)
Not even a small tiny mini micro sqlite3? :)
Without that, the bot has to parse the blockchain often.. And if it crashes, all is lost..
Is it working with the steem wallet?
I would prefer unlocking that, and not having private wif around.
Or it could be a next feature:)
Nice work! Will be using this one from now on...
👍
good to know! let me know if you encounter any issues.
Hey @emrebeyler I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
This is an awesome resource, not just to use as-is, but I learned a lot about the API by reading your code, so thank you for sharing! :)