The idea is not mine. After I cast a witness vote to @arcange, I got an instant micro transfer from him with this memo.
I have liked the idea and implemented the bot of it.
Workflow
- Listen new blocks to the forever
- Filter "account_witness_vote" transactions
- Filter if the "witness" is yourself
- Send the voter a micro-transfer like the above.
Of course, bot has a mechanism to check the voter is trying to game the bot. One micro-transaction per user, no matter what.
Installation
(sudo) pip install steem_thanks
All set. Make sure your pip actually points to python3.6. Virtual environments are preferred.
Configuration
Bot works with a config file formatted as json.
Example configuration file (config.json)
{
"keys": ["active_key"],
"nodes": ["https://api.steemit.com"],
"account": "your_account",
"userlist_file": "/path/to/user_list.txt",
"memo": "Thank you for the witness vote. :hugging_face:"
}
Option | Description |
---|---|
keys | A list of keys. Only active wif is required. |
nodes | A list of nodes. api.steemit.com is preffered. |
account | Your witness account |
userlist_file | Absolute path of A writable TEXT file |
memo | Your text of appreciation. Emojis are supported. |
Note: userlist_file is a text file where every voter registered once. It's a defense mechanism to people try to game the system by sending millions of approval/disapproval transactions.
Running
$ thanks /path/to/config.json
See it in action (Free hugs!)
Tech Stack
Python3.6+
Roadmap
It does one thing and doing it well. :) There is no readmap set at the moment. Maybe farewell after witness disapproval?
How to contribute?
Via Github pull requests and Github issues. If you have any questions or ideas, you can also find my at Discord. (emrebeyler#9263)
Posted on Utopian.io - Rewarding Open Source Contributors
It would be preferable if it would also pay those who have voted a long time ago. I guess you could start at the blockchain beginnings but that is very long. It is likely you could iterate over history of each witness user. Regular votes for posts are in that, so I imagine witness votes will be there too.
well, this is not actually a payment module since it just sends 0.001 SBD :) But it is possible to get my old voters, you can iterate over the account history but it will take a good amount of time if the account has a huge history.
Hmm ... stealing idea ... I should ask for royalties XD
Glad to see you also implemented a protection against multiples votes/unvotes. Well done!
Anyway, when implementing "auto-transfer" bots, always be careful not to leave too much liquidity in your wallet. My 2 cents ;)
you now have 5 cents
Received that with thanks :)
I hope you have 850 SBD in your account:)
But nice idea!
Love it! Such a great idea and implementation!
When will you add the word ' [Witness] ' next to your discord name reis?
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
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
Received that with thanks :)
Nice, beautiful and informative. Keep sharing, great work!