steemrewarding.com - upvoting of paid-out posts possible and rules table improved

in #utopian-io5 years ago (edited)


rewarding_batch2.png

Repository

https://github.com/holgern/steemrewarding

steemrewarding.com is a feature-rich automatic voting tool. It can be used to create voting rules at https://steemrewarding.com, when posting authority was given to the @rewarding account. I created a discord server for all topics regarding steemrewarding.com: discord invitation.

New features

Upvoting already paid-out posts

The delayed vote tab can now also be used to upvote already paid-out posts. When a paid-out post is given, a comment is replied with 100% benficiaries set to the author and upvoted.

There are three ways to do this:

image.png

The created comment has 100% beneficiaries set to the author. In 7 days, the author of the already paid out post will receive the author rewards of the upvoted comment.

Assuring that a command is only parsed once

New checks have been added for assuring that each command is only parsed once. The timestamp of the last parsed commend last_command is stored in a json file at the end of the script. When the json file would be deleted, all rewarding commands would be parsed again.

In order to prevent this, a command inside a comment must be not older than 3 hours:

        # Skip not processed commands that are older than 3 hours
        if (datetime.utcnow() - command["created"]).total_seconds() / 60 / 60 > 3:
            continue

A second check is implemented that checks of the comment that contains the comment was already upvoted by @rewarding:

        already_voted = False
        for v in c_comment["active_votes"]:
            if v["voter"] == rewarding_account:
                already_voted = True
        if already_voted:
            continue

As a comment containing a rewarding command is alsways upvoted, checking for upvotes from rewarding will also prevent that accidentially a command is parsed twice.

Improved rules/trail rules table and copying of rules possible

It is now possible to add the author and change if comments or posts ( main_post flag) should be upvoted.

After pressing the button in the rule editing from:

            rule_dict = rule_dict_from_form(name, form)
            if rule_dict["author"] != author or rule_dict["main_post"] != main_post:
                if copy_rule is None or not copy_rule:
                    voteRulesTrx.delete(name, author, main_post)
                voteRulesTrx.add(rule_dict)
            else:
                voteRulesTrx.update(rule_dict)

It is checked of the author and/or the main_post flag was changed. If this is the case, a new rule is created. When copy_rule is not set, the old rule is deleted.

The vote rule table has been improved. Links for edit/copy/delete a rule are now on the left side:
image.png
When I press the edit link:
image.png
All changes at the author field will create a new rule and the old rule will be deleted.

When I press the copy link:
image.png
All changes at the author field will create a new rule with the same parameters. The old rule stays unchanged.

Maximum vote delay parameter added

A new parameter was added for vote rules:
image.png
It is now possible to limit the validity of a rule which is vote power based. A post/comment is then upvoted when min_vp is smaller than the vote power and when the delay is below of maximum_vote_delay_min.

min_vp, vote_sbd and vote_when_vp_reached added to delayed vote

It is now possible to queue vote-power based votes. The following setting will queue a vote which is later upvted when a vote power of 90% is reached.
image.png

Commits

Add creating of of comments with beneficiaries to flask app

fix permlink of comment for upvoting

Copy item added to vote rules and trail vote rules

  • commit ead68fc
  • table layout improved
  • description added to edit and delete rule/trail rule
  • copying a rule/trail rule is possible
  • form field for deleting a rule / trail rule is shorted

Add more form fields for delayed vote and add max vote delay

  • commit 047fb78
  • show account information at start page
  • More form fields for delayed vote
  • maximum vote delay added as form field

Add checks for command parsing that will prevent that a comment is parsed twice

add rewarding of paid-out post (older than 7days post)

  • commit fdc6921
  • when a already paid-out post should be upvoted, a comment
    with beneficiaries is upvoted instead.
  • add short notice to dalayed vote tab

add more help text to forms and improve scripts

  • commit 8305093
  • prevent negative vote weight
  • add pool_recycle to database connector
  • add hours, minutes and days to command parsing
  • sorting rules by author
  • improve app check in post
  • add unit tests for command parsing
  • add try/except for loading post/comment from authorperm

GitHub Account

https://github.com/holgern

Sort:  
  • Awesome post with all the elements, images, code samples and explanations of coding choices.
  • This is a very clever trick to keep rewarding authors past the seven days. That's huge.

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]

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

This feature is awesome and tonight I will test it.
There are so many possible uses for it for example if you want to change an already given uovote and make it bigger you can just add the vote with the comment (well you could also just upvote an authir comment haha)

Posted using Partiko Android

Fuck yeah! This is a great feature and one that'll finally get me to use rewarding. (haven't cared much to maximize curation rewards in the past)

yes sir you are right. i greet you

be interesting to see if it changes any of your views.

Great :). Let me know if you have suggestions or in case when sometime did not work.

Fortunately, just happened to see this post @holger80 and bookmarked it (with @steempeak) to come back, when time was available, to read it. Which I have now done.

Excellent news to know you have taken on and successfully (not tested, just taking you at your word on the assumption you have tested it …) put in place a mechanism to upvote posts past their payout period. Don’t know how many times I have wished for something like this. Perhaps, in your role as one of our all-important Steem Witnesses, you can see what it would take to have this incorporated in the core code of the Steem blockchain.

I am impressed enough with this to use one of my votes for you as Witness. I read through one of your other posts enough (while I do not claim to understand all of the technical details …) to know you appear to be doing an excellent job in taking care of your responsibilities to host a server for our Steem blockchain. And, obviously, doing what you can to add value to it!

The ~ 13.4 MVests under my control have now been voted for your role as Witness:

Upvoted and resteemed. All the best to you @holger80, for an even better tomorrow! 👍 😊

Thanks a lot for your support!

Posted using Partiko Android

Pleasure is mine! 👍

Posted using Partiko Android

You're like a miracle of ingenuity, creativity and practicality. It's going to take me a few reads to figure out exactly how to do this--I'm a dinosaur when it comes to technical stuff. But I get the gist.
I think, if we lived in the Stone Age, you might have been the one to discover fire :))

Thanks for the nice words :)

haha! great comparison .. :)

The new feature is brilliant. Great way to keep rewarding fantastic articles from the past.

I noted my personal wishlist feature in discord, but I will state it again. I would like to be able to set up a queue, so that pre-selected posts I choose will be upvoted in order, as soon as my voting power recharges. The purpose is to maximize curation rewards to selected posts while I am away (sleeping, work, vacation). Is this something you would like to implement?

So far I am not aware of any service that does this. I continue to curate manually to keep my VP close to max before casting each new 100% upvote, with the exception of before I sleep I have to upvote many all at once to drain more VP.

Keep it up. Your super powers to alter the steem matrix, and change our reality make you a hero to us!

Thanks for the suggestion, it is now possible to build a queue. I improved the delayed vote form.
Go to https://steemrewarding.com/delayed_vote
add a authotperm or replace steemit by steemrewarding
Enter a min_vp and select vote_when_vp_reached

The post will be upvote when min_vp is reached.

Posted using Partiko Android

Holy smokes! Justed tested it. It works!

You are a lifesaver @holger80. I'm going to utilize this feature for sure, and tell others about it.

!gif doctor frankenstein

I think the "voting paid-out posts" feature is probably the most important thing that should be added to Steem itself or the clients for accessing it. The fact that the current form of Steem optimizes for short-lived content has been a pain in the ass to me forever. Thanks for dealing with this!

@partiko @steempeak @esteemapp how about adopting such a logic?

Posted using Partiko Android

I'm planing to work on a API for steemrewarding, when this will be finished, other interfaces could use my voting service.

Ingenious work and this post should be sitting at the top of Trending!

The utopian-io vote could push my post up a little bit, when it is arriving soon.

It makes me very happy to see something like this @holger80! For me, the greatest weakness of the Steem ecosystem has always been that the posts here "go stale" so quickly. Maybe that doesn't affect everyone here, but for someone who tends to write more "article style" posts that are centered around "evergreen" content, the fact that we get "seven days and then it's useless" has always felt like a thorn in my side.

You could add a link to steemrewarding at the buttom of your paid-out posts:
https://steemrewarding.com/monomad/@reddragonfly/monomad-entry-for-january-25th-2019-butterfly-on-daisy

@holger80 I love your steemrewarding, i love edit,copy , delete on the left hand side thanks. Is there an easy way to see if someone is being voted for recently without going through each one on vote rules and then cross checking elsewhere? i.e Last time upvote on vote rules page?

Last time upvote on rules page is a good idea.

Posted using Partiko Android

Wow. Going to check out these tools now.
Vote @holger80 for witness if you haven't already.

Let me know if you have suggestions :).

The other service I was using before today costs users a 100% upvote once a day. This is great for minnows or smaller, but a little taxing as SP goes up, especially considering they mostly have people vote on comments.

In any case, it is worth it. You deserve something, too.

I think you should at the very least have your account or a list to choose from of accounts you want to support on everyone's page when they log in for the first time.

It's up to you if you allow users to delete it or change the parameters or whatever. Maybe you can factor in how often they are voting, how many streams, their SP, etc.

I'm trying the following for now.
holger80 True 15.0 120.0 nsfw 25.0 True 0.0 2 10 False 75.0 0.0 False 100 True 1 -1 -1.0

That 25.0 will go up if your site serves me well ;)
I hope you don't have a habit of posting nsfw, lol.

Hi @holger80!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 7.321 which ranks you at #65 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 189 contributions, your post is ranked at #1. Congratulations!

Evaluation of your UA score:
  • Your follower network is great!
  • The readers appreciate your great work!
  • Great user engagement! You rock!

Feel free to join our @steem-ua Discord server

Nice tools developed on steem rewarding. Thanks for sharing the features to Steemians.
Peace

Posted using Partiko Android

Great work @holger80. I truly appreciate being able to reward older posts. Thank you!


Everything is okay! 👌


You received an automatic vote, because I believe in you and I love what you create! ;)

A huge hug from @amico! 🤗

I love promoting !sbi status

Hi @amico!

  • you have 140 units and 510 bonus units
  • your rshares balance is 2900750313690 or 1.957 $
  • your next SBI upvote is predicted to be 0.391 $


    Did you know Steem Basic Income has a Quality Policy?

Hi, @holger80!

You just got a 2.82% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.

Thank you so much for participating in the Partiko Delegation Plan Round 1! We really appreciate your support! As part of the delegation benefits, we just gave you a 3.00% upvote! Together, let’s change the world!

This post has been included in the latest edition of SoS Daily News - a digest of all the latest news on the Steem blockchain.

Hey, @holger80!

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!

Good job. This is an amazing idea!

Posted using Partiko Android

I just start to use the great tools. I have a question for the setting of the include_text field. Is it case sensitive? I tested it. It should be case sensitive. If I want to match "resteemed" or "Resteemed", how to do that?

Just tested it - this is a great tool. We are setting up a database for projects working towards the Global Goals. It is crucial that people can upvote them, even if the introductory post is older than 7 days. Looking forward to the APIs.
Quick question: Why does $rewarding 10% lead to 100% rewards? It would be more intuitive to write $rewarding 100%

Dear @holger80

I just read post by @guysellars who mentioned your project and I found it very interesting. Somehow I cannot imagine how your solution could work since payout only happen once, after 7 days.

The only problem I see is the fact, that majority of people do not really comment or upvote anything that is already older than 3-4 days. Once post is 5 days old, then no amount of promoting it will bring more upvotes or comments.

That's just how we are all being already programmed by Steemit Inc.

Interesting development, but I cannot see people really using it much :( I can only hope that I'm wrong.

Yours
Piotr