Upper! Steem bot

in #utopian-io5 years ago (edited)

Upper

reads every new comment made by authors in a list and searches for the flag(!command) who will trigger actions on the main post(e.g. upvote, comment, and resteem)

Repository: https://github.com/lpessin/upper

Introduction

A steemian friend asks me to help him with his project, a curation project with several curators reading and approving posts. He needs to automate tasks (upvote, comment, and resteem). As it may be useful to others I decided to open source and post it.

Upper is a simple python script following basic instructions from the steem-python official library, plus a few things I've added.

I'm posting as a blog contribution, and not development because this is more a 'learning-process/help-friend' thing than an actual project claiming this is 100% my creation, I just put some pieces together and tested my skills.

Next, you'll see how to install, the usage, and its features.


You will need

  • Python 3.6+
  • Steem-Python
  • Regex
  • Linux (Ubuntu)

Install
Always best to create a venv or use ide like pycharm

Installing steem-python and regex:

pip3 install regex
pip3 install steem

Clone repository:

git clone https://github.com/lpessin/upper.git

Setup & usage

Open curators file, and add accounts you wish to search for comments with the flag(!command):

lpessin
acc2
acc3
...

Now edit upper.py to set-up the worker account:

acc = 'your_account' 
s = Steem(keys='your_posting_key')

w = 100.0 # set the vote weight you want

Choose your flag (!up as default):

# Set here your flag command without the '!'        
flag = 'up'   

Write the comment you want to post (markdown supported):

comment = str(f'Congrats, @{a_action}!\nYour post received an Upper from @{c_action}!')

'{a_action}' is the main post author, and '{c_action}' is the curator

And finally, run:

python3 upper.py

Now whenever a listed curator types '!up'(or the flag you chose) inside a comment, your account will upvote, comment and resteem the main post where the comment was made. Cool!


Outputs:
image.png

image.png
image.png



Highlights:

  • flag(!command) is spotted at any part of the comment and alongside with any other words in the comment body
  • A log file with date and time who keeps all past data (you can exit, run again and will never lose track)
  • Handles multiples action threads in parallel with the stream (you won't miss a post)
  • Will never perform the same actions on the same main post

I hope to keep improving the code and any contributions, suggestions and/or questions are welcome.
Thanks, goodbye!

Sort:  

Hello, @lpessin. Thank you for your contribution. While this project looks similar to other projects around that can handle similar functions such as the vote, comment, and resteem, this one may have a slight advantage. Also, consider adding a license file to your repository.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Chat with us on Discord.

[utopian-moderator]

Hello, thank you for your feedback. You're right I forgot about the license file, added now. Thanks.

Thank you for your review, @knowledges! Keep up the good work!

Hey, @lpessin!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Congratulations my friend! I am happy to see it... then.. !up :)

Success!

Posted using Steeve, an AI-powered Steem interface

thank you

This story was recommended by Steeve to its users and upvoted by one or more of them.

Check @steeveapp to learn more about Steeve, an AI-powered Steem interface.

Parabéns, seu post foi selecionado pelo projeto Brazilian Power, cuja meta é incentivar a criação de mais conteúdo de qualidade, conectando a comunidade brasileira e melhorando as recompensas no Steemit. Obrigado!

footer-comentarios-2.jpg