Steem Bot Tracker - Send Bid Feature Improvements

in utopian-io •  7 years ago  (edited)

Summary

Last week I submitted a few feature ideas for @yabapmatt's Bot Tracker. I reached out to him on Discord and asked about implementing the ideas myself, and he gave me the green light! They have been merged and deployed, so here's a summary of what I did.

Demo:

New Features

Feature 1: Recent Post Suggestions

Now when users type in their username, recent posts eligible for an upvote are displayed as buttons. Users can click these buttons to load the post URL into the form. This feature makes the bottracker even easier to use.

This is done by using the 'steem.api. getAccountHistory' method, filtering for post transactions, creating a new <button> for each post, and appending them to the document body. Each button is given an onclick handler which sets the post_url of the form to the corresponding value. We repeat this process every time an onchage event is emitted from the #bid_details_account_name input.

In a later commit, yabapmatt switched this to the getDiscussionsByAuthorBeforeDate method, which made filtering much easier.

**Edited per mod request: **
I was a little confused by the API of getDiscussionsByAuthorBeforeDate(), shown below:

steem.api.getDiscussionsByAuthorBeforeDate(author, startPermlink, beforeDate, limit, function(err, result) {
  console.log(err, result);
});

I was really thrown off by startPermlink - how could I have a link to start from if I knew nothing about the account? There wasn't any documentation telling me that you could just pass in null to start from the beginning, as I later found out.
Instead, I used an approach that had worked in the past for another project - read through the entire account transaction history and parse it. This method requires a lot of data transfer between the server and the client, and a lot more work done by the client. Using getDiscussionsByAuthorBeforeDate() correctly reduces the amount of data transfer dramatically, and offloads most of the work to the server, which is great.

Commit

Feature 2: Save username in localStorage

This is a tiny enhancement - the account name used will be saved in localStorage for next time. This prevents the user from having to type it in multiple times.

This is accomplished by writing the account name to localStorage every time it changes. When the page is loaded, we read the account name back and set the input to that value.

Commit

Feature 3: Set Minimum Bid in popup automatically

Another tiny enhancement- originally the Default Bid was always set to 0.5 SBD. This changes the Default Bid to be the minimum bid allowed by the bot. Some bots have minimum bids of 2.5SBD, so this feature makes it easier to ensure you're entering a valid bid amount.

Commit

Proof of Work

I list my Steemit Username as maxg in the pull request



Posted on Utopian.io - Rewarding Open Source Contributors

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you for the contribution. It has been approved. A great work on the project, bdw as @yabapmatt also suggested it would be good if you have written about that too, that why should we use getDiscussionsByAuthorBeforeDate() and not getAccountHistory().

You can contact us on Discord.
[utopian-moderator]

Thanks! Edited.

Hey @maxg I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

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

Hi buddy,

I know that this is not very "fresh" post but I still hope you can advise/help me.

I was trying to use steembottracker.com to boost my posts and I experimented a little bit with this tool.

My impression is:

  1. if Im planning to upvote my own post as soon as possible after post has been published, then I will benefit the most as an author and curators will benefit very little (as they will most likely upvote after bots did their job).

Is that correct?

  1. So if I would like to benefit my curators (as Im really here for right reasons) then the best think is:
  • NOT self-voting right after I publish post
  • allow curators to upvote on your post (hopefully they autovote)
  • after 30minutes self-vote and then start using bots.

This way my own reward as an author will be smaller, but all my curators would get bigger portion of reward. Am I right?

I hope you can share your experience. And of course check out my profile if you are passionate about cryptomarket or AI.

Cheers, Piotr

Kinda. Your curators get the most if they wait till after 30 minutes to upvote you. If they upvote before 30 minutes, you get more of their vote and they get less. So if you want to maximize the curation reward your followers get, you should wait some time after 30 minutes to buy the votes.

There's a little more going into it with curator vote ordering and vote weight, but that's a little over my head. Just remember that if you're buying votes past the 30 minute mark, you're buying income for your curators and likely taking a loss on the vote yourself. If that isn't something you want to do, you should try to buy votes as soon as you can.

Of course, if you have less than a few thousand STEEM none of this really matters. Just focus on putting out content!

Thank you kindly for your reply.

I also think that upvoting myself with little steam or even using bots will not really matter much. I cant imagine building fortune by being upvoted by bots. no matter how profitable it would be - it can only bring you that far.

I think it's best to focus on building solid follower base and trying to reward my upvoters is the best way I can imagine of doing that. Does it make any sense?