Post Promoter JavaScript Voting Bot - Update 4

in #utopian-io8 years ago

I'm back again with some great new updates to the Post Promoter voting bot software! It is now powering bots with over 4 Million Steem Power combined!

Anyway, here are the latest developments:

Option to auto-withdraw funds after each round

Previously funds could only be automatically withdrawn from the bot account once per day, but now you can set the "frequency" option to "round_end" to distribute them after each bidding window!

"auto_withdrawal": {
    "active": true,
    "accounts": [
      { "name": "account1", "stake": 8000 },
      { "name": "account2", "stake": 2000 }
    ],
    "frequency": "round_end"
}

Automatically retry failed transactions

For some reasons transactions were sometimes randomly failing with a "max_block_age" error. If anyone knows what that means or why it happens please let me know! In any case I have set it up so that it will retry failed transactions (votes, withdrawals, etc) one time at which point the transaction seems to go through successfully.

// Try again one time on error
      if(retries < 1)
        sendVote(bid, retries + 1);
      else {
        utils.log('============= Vote transaction failed two times for: ' + bid.permlink + ' ===============');
      }

Auto-withdrawal of liquid post rewards

If the auto withdrawal feature is enabled it will automatically send out all of the liquid STEEM and/or SBDs in the account daily or after every bidding round. This is great if you want to automatically pay out earnings from the bot to different accounts, but the problem is that if your bot's posts get any upvotes those rewards would be auto-withdrawn as well.

Now you can specify a separate account which will automatically get sent all liquid post rewards as soon as they are claimed:

"post_rewards_withdrawal_account": "withdraw_liquid_post_rewards_to_account",

Added a price feed setting to properly value SBD and STEEM bids

Until this update the bot software valued SBD and STEEM bids the same. This means that someone who sent a 1 SBD bid would get the same vote as someone who sent a 1 STEEM bid. This was clearly not good as 1 SBD is now worth 5X what 1 STEEM is worth. It was a highly requested change and now it's done!

To use it, simply set the "price_feed_url" config setting to a URL that sends the current STEEM and SBD price in USD. You are free to use the one I set up at: https://postpromoter.com/api/prices

"price_feed_url": "https://postpromoter.com/api/prices"

Obviously this is only necessary if your bot accepts both STEEM and SBDs.

Thanks for your support!

I wanted to thank everyone who has helped and supported me in creating this software. I love that it has been able to help so many people get their content promoted. Please stay tuned for more updates in the coming weeks!

Links to relevant commits:
Added price feed setting to value SBD & STEEM bids based on their pri…
Added log for retry of vote failing and fixed issue with withdrawals
Added feature to auto-withdraw liquid post rewards to an account
Added option to withdraw funds after each bidding round



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

You got a 1.14% upvote from @upmewhale courtesy of @yabapmatt!

Thank you for the contribution. It has been approved.

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

Well done and thanks for the update!
Great you got the SBD & STEEM conversion for the bids taken into account. For the price feed, any reason you decided to not go with the rate via the internal market? Curious, in case you found it unreliable.

Glad you like it! I didn't even think to use the internal market lol...not sure how to do that, I guess I would use the steem.api.getOrderBook() call? Either way it was super simple to use the coinmarketcap.com API so I went with that!

I use the get_ticker call and use the returned value for 'latest' tick.
See below the API call used in steem-python.

def get_ticker(self):
        """Returns the market ticker for the internal SBD:STEEM market."""
        return self.exec('get_ticker', api='market_history_api')```

Great update @yabapmatt

Thank you, dear friend - you're doing a fabulous job
I have no idea how you do it - but, well done

Me and programming - do not go well together
In JAVA I have no idea.

@yabapmatt how can i get in touch with you good sir? :P

You can contact me on steemit.chat

excellent achievements, you are doing useful things that will make life easier for many. Useful work

Thanks for the explanation you provided for our new-play in the steem. a very good explanation for me personally and possibly also for everyone wrote plays in the steem.
Let me share your postings to the others so that the information could be useful as well.
I look forward to working with you and can be your friend @yabapmatt @yabapmatt.

Nice post..... You just put a smile on my life @yabapmatt thumb up

it will be great

You got a 0.91% upvote from @postpromoter courtesy of @yabapmatt!

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

Achievements

  • WOW WOW WOW People loved what you did here. GREAT JOB!
  • You are generating more rewards than average for this category. Super!;)
  • 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, i sent you a memo on you allaz bot i also sent you a message on steemit chat, i have concerns about your allaz service, please respond

You sent your initial bid right after that round ended so you got your vote in the next round.

Very nice post! Your a very kind soul! I'm a steemit newbie and I really appreciate posts like these! It is such an honor to be a part of the steemit community! Such a great and helpful community! I'm telling everyone I know on this planet about steemit! Steemit to the moon! I'm following and upvoting! :)

Its show the Power dev in steem community

Hi, I sent 0.100sbd to @postpromoter with the URL of my post and my sad was returned.... I'd like to know if I made any mistake

The minimum bid is 0.5 SBD.

thanks i will resend the url with the appropriate amount

I've been looking at several bots and it appears as though a lot of people are losing SBD/STEEM on them after curation. How does that happen and is there a way to fix it?

The bots work on a bidding system, so the value of the votes received is directly dependent on the amount of bids that come in that round. If more bids come in than the bot's vote value is worth after curation, then it will be a negative direct ROI. Many people wait until the very end of the bidding round to see what the return is before deciding to bid or not.

But to me the bots are a tool to help you promote your posts, not to make a quick profit. Even if you lose a little bit or break even on your bid you should gain a lot more by the increased visibility your posts receive.

I completely agree with the idea of using bots as a promotional tool until you get a strong following. However, I think that people may be using bots without realising that they could be losing SBD.

Automatically refunding bids (along with a message explaining why) that are at the threshold of unprofitability would establish fairness. I think I'm going to have to write a post about this.

@penston there's nothing unfair about the bid-based voting bots. Everything is completely open and transparent and never has there been any guarantee of profitability.

I've considered the idea of refunding any bids that cross the profitability threshold as you suggest but there are a few problems with that. The most obvious being that most bid bots of any size need to pay for their SP, and it's pretty pricey these days. I highly doubt any of them will be open to refunding bids for this reason.

Also, profitability calculations are based on current prices of STEEM and SBD whereas the post payout happens in the future. If someone thinks prices are going to increase, they may want to try to capitalize on that increase by making big bids which show as unprofitable now, but may end up being profitable on payout.

There are plenty of bots who advertise their services by saying you can make x hundred percent SBD if you make a bid at or above a certain minimum. They don't spell out that you can make a loss of 50% or more.

The frequency at which I'm seeing people losing SBD suggests that they don't realise what they've gotten themselves into.

most bid bots of any size need to pay for their SP, and it's pretty pricey these days. I highly doubt any of them will be open to refunding bids for this reason.

It sounds as though you're saying that bots can't continue to operate unless they rake in SBD/STEEM from excess bidding. Is that true?

This post is very helpful and auto withdraw really great idea Thanks for update @postpromoter

Here's a little bit about Africa. Feel free to upvote if you enjoyed it
https://steemit.com/uyo/@berylwills/my-heritage-my-culture
Merry Christmas to you😀

Here's a little bit about Africa. Feel free to upvote if you enjoyed it
https://steemit.com/uyo/@berylwills/my-heritage-my-culture
Merry Christmas to you😀

Would you like to give upvote :)

Your bid was automatically refunded because it was below the minimum bid amount. Please check your transaction history before posting!

Thank you for the contribution. It has been approved.

That is great. I love all bot because they not only profit themselves but also give profits to others with their awesome upvotes. Keep it up dear.

Good day sir @ yabapmatt I am @kennyc an active Nigerian steemian, and an active steemit promoter here in my country, Pls can you teach me or give me an insight on how these boys work and how one can invest in it. Will be a great pleasure to hear from you sir,as developing my steemit life and helping my community do the same would be my watch word. Steemon!