RE: how I will vote on steemfollower. And how Justin sun could lose the war, unless there is a quick powerdown.

avatar

You are viewing a single comment's thread:

I've wrote and released a script as open source in the psuedo darkness of discord. Where? well lets not give those loyal to tron an easy way to access it. Presently I am not running it-other than a few test to get it started. Personally I would like to see some more customization to it.

Presently it is capable of reading new posts (including edited) in pretty much real time, getting the necessary post and user information, counting the number of good witnesses-refusing the bad, and excluding nsfw stuff, and requires a certain reputation threshold. if everything is met, it upvotes. If not, and the failure is not enough core witness votes, I could have it posts a comment for those not meeting the threshold simply by uncommenting few lines of code.

image.png
https://steemit.com/dtube/@crystalliu/fwv5f0fii47#@firstamendment/fwv5f0fii471584320121

Yeah, second working commenting test and I get down voted by a korean whale who luckily had next to 0 downvoting power and who used it on a post that was set not to earn rewards; lol, I should have used my bot account.

At present the bot doesn't try to find stuff that I would be interested in. It finds something, and if it is in an upvote cycle, it upvotes anything that meets the basic parameters.

It is just a start anyways, I have life in self-quarentine to get back too or something. I am eager to see what other developers can do if this helps them meet their demands. Also interested to see what people leading curation trails can do with it also.

Worst case scenerio, I could develop it further myself.

My intent of course is not to be negative. I easily could set it to downvote tron supporters. maybe others could. What they do is their own decision.



0
0
0.000
13 comments
avatar

The purpose of this particular bot is to upvote posts from non-Tron witnesses or does this bot have more so to do with helping people vote for non-Tron witnesses or am I totally confused?

0
0
0.000
avatar
(Edited)

The true objective of the script was just to upvote any user who voted for a flexible ideal witness set. Additional restrictions were put on so that it doesn't rewards NSFW content, and try to limit upvoting low valued posts. Additional features were also added after the original objective was made to enhance it's offerings. I'll call it a prototype for convenience.

The bot is more or less a prototype or proof of concept, so whoever with php and steem connect experience who wants to take it further can. Steemconnect is quite a hurdle for many new/wannabe steem developers.

As I kind of posted on discord in the notes:
It will look for the head block number, and reads the head block.
A block Should contain a transaction or transactions.
It will look for "comment" type transactions on the head block, and filter out so only looks to true posts. True posts are comments operations without a parent author....although sometimes they are just edits.

When it finds a true post (including an edit) it grabs the permlink and the author, and the tags.

At present, if it sees NSFW in the tags it says it is bad.

the permlink helps identify the post for out later transactions on the chain-if any-for upvoting and/or commenting.

With the author, it first calls up the raw reputation score and convert it to the form we recognize.
We can use this number to help omit potential junk/spammy posts.

At that point it it reads who a person vote for.
If it sees a tron witness, it says says that it is bad; the same flag is presently used as if it saw an NSFW tag.
It also counts the number of "good" witnesses.
In the prototype it is looking for 20 out of the 30 core witnesses.

So if it isn't NSFW, if it isn't voting for a tron witness, if they have a reputation greater than 50, if they voted for at least 20 core witnesses then the prototype will upvote that person. As the notes in the prototype code say they could copy a particular section and tell users why they are getting an upvote. Upon a successful upvote I was ready to concede the prototype was done. But wanted to test one extra feature for those who failed to have 20 witnesses which is the next part.

Optionally, and the prototype has this feature disabled by default, for people who voted for less than 20 core witnesses it posts a comment on their post kind of like the image above.

Ideally I should adjust it so it upvotes 5 minutes after it identifies a post to maximize rewards. There are a number of ways this could be done-one method would be to ensure a minimum weight to have a 5 minute cool down and upvote when the cool down expires;another method could mean buffering them into an array and each cycle checking the timestamp of the current array index and see if 300 or more seconds have passed; another method could just store it into a file/database and let another script handle it separately. Many ways of doing the same thing. But is it a start for a proof of concept. The script is getting buried, so I doubt any php developer will see it sadly.

I think we are on the same discord channel, if you want to see it. I am not sure what your background is in dapp or php development.

0
0
0.000
avatar
(Edited)

In order to upvote low-value posts, does that mean the bot waits till a post is six days old or before a post is paid out in order to make sure the post didn't all of a sudden receive a bunch of upvotes towards the end?

0
0
0.000
avatar
(Edited)

perhaps my wording is bad. I don't want the bot to vote for low valued posts. To try to prevent that from occurring, I chose a minimum reputation requirement. Low valued post could still end up being voted on in the process, but I wasn't going to develop some kind of AI to completely stop it.

0
0
0.000
avatar

Oh, you want the bot to vote for the opposite of low-valued posts?

0
0
0.000
avatar

Maybe I should have said, I don't want it to vote for low quality content.

0
0
0.000
avatar

My background is that I've done some web design, I know some HTML, I know how to Google, but I have not made any dapps yet but I think about it sometimes. But I am more a writer than a computer geek. I know bits and pieces of some computer code and I get some of it. One problem with your bot, which I think you mentioned, is if the bot ends up trying to upvote too many posts and you mentioned how it probably needs to cool off for 5 minutes before upvoting more posts. I guess it comes down to how much SP a bot may have and the percentage it is upvoting at. The objective of the bot, like you said, is good, I like it.

0
0
0.000
avatar

the 5 minute wait is to maximize the rewards. alternative I could use headlock-100.

I set the prototype to have a natural time delay [cool down] that depends upon a positive weight to allow the voting power to recharge. For testing I set it to 1 [out of 10000] or .01% vote, so the cool down is under a second. (2x60x60)xweight/10000. A weight of 417 (4.17%) I think is where a time delay would be about 5 minutes.

0
0
0.000
avatar

To maximize rewards, wouldn't you not have a 5 minute wait but instead 1 minute or 1 second?

0
0
0.000
avatar

To "discourage" bots, I've read/heard the block chain it set up so votes reach peak value for voters 5 minutes after a post/comment is made.

0
0
0.000
avatar
(Edited)

This is currently what is on my command line from the last time I tested it. I didn't print out (echo) everything-so there are no curls responses echoed. The section below starts out with one who failed a test, and also someone who passed the test. You may have to open the image in a new window to see it.

image.png

unix time stamp
username
tags
main category
permlink
raw reputation score
converted reputation score
A count of the witness list broken into pieces. There is one extra piece.
[list of wtinesses if any]
[did it make it? [see below image: if no and y>1 then display "good" witness count]]
[at this point it could upvote, comment, or do nothing-but I didn't echo it]
unit timestamp "done"

image.png

the below is from an earlier more verbose version that was still being developed:

image.png

0
0
0.000