unique_author logic to use account_history instead of internal timer for improved accuracy between runs.voting_rules
winfrey mode that acts like the winfrey bot, all voters vote for everyonedrphil mode one random voter votes for everyone (default)following_vote_weight - for accounts that the voter followsfollowers_vote_weight - for accounts that follow the votermin_rep (default 25.0)min_wait and max_wait (in minutes) so that you can fine-tune voting delay.favorite_accounts list and separate favorites_vote_weight option.
enable_comments option to vote for post replies (default false).only_first_posts option to only vote on an author's first post (default false).max_rep option, useful for limiting votes to newer authors (default 99.9).vote_signals account list.
drphil mode).min_rep can now accept either a static reputation or a dynamic property.
25.0dynamic:100. This will occasionally query the top 100 trending posts and use the minimum author reputation.vote_weight: 0.00 % and skipping without broadcast.
min_voting_power to create a floor with will allow the voter to recharge over time without having to stop the script.voters as a separate filename. E.g:
voters: voters.txt
account wif (no leading dash, separated by space)favorite_accountsskip_accountsskip_tagsflag_signalsvote_signalsonly_fully_powered_up which will only vote for posts that receive 100% STEEM Power author rewards.replay: allows a replay of n blocks allowing you to catch up to the present.
ruby drphil.rb replay:90 will replay the last 90 blocks (about 4.5 minutes).^C will have.cashout_time value (if present).
unique_author (optional) which takes an integer in minutes. This will limit voting to 1 vote per period. E.g.: Set it to 1440 to only vote for each author once a day.max_votes_per_post (optional) which only votes n times per post (winfrey mode only).only_tags (optional) which only votes on posts that include these tags.vote_weight if not present.favorite_accounts) can now have individual vote percent.
inertia:100.00)stream:false will exit without streaming the blockchain. Useful in situations where you only want to replay: and exit.Dr. Phil (drphil.rb) is reimplementation of the "Winfrey" voting bot specification. The goal is to give everyone an upvote.
One optional improvement is that instead of voting 1% by 100 accounts like the Winfrey bot spec, this script can vote 100% with 1 randomly chosen account.
If the complaint about Winfrey is blockchain bloat, Dr. Phil prescribes weight loss to address this. But this feature would only work if there are enough voters defined in the script. If you plan to use this script for one or two accounts, you'll probably want to adjust the VOTE_WEIGHT constant to something a bit lower.
To use this Radiator bot:
$ sudo apt-get update
$ sudo apt-get install ruby-full git openssl libssl1.0.0 libssl-dev
$ sudo apt-get upgrade
$ gem install bundler
$ gem install bundler
I've tested it on various versions of ruby. The oldest one I got it to work was:
ruby 2.0.0p645 (2015-04-13 revision 50299) [x86_64-darwin14.4.0]
First, clone this gist and install the dependencies:
$ git clone https://gist.github.com/61bcc2b821aa5acb24f7fc88921950c7.git drphil
$ cd drphil
$ bundle install
Then run it:
$ ruby drphil.rb
Dr. Phil will now do it's thing. Check here to see an updated version of this bot:
https://gist.github.com/inertia186/61bcc2b821aa5acb24f7fc88921950c7
Typically, you can upgrade to the latest version by this command, from the original directory you cloned into:
$ git pull
Usually, this works fine as long as you haven't modified anything. If you get an error, try this:
$ git stash --all
$ git pull --rebase
$ git stash pop
If you're still having problems, I suggest starting a new clone.
drphil.yml:1: syntax error, unexpected ':', expecting end-of-input
ruby drphil.yml but you should run ruby drphil.rb.Unable to vote with <account>. Invalid version
Make sure the .yml file voter items have the account name, followed by a space, followed by the account's WIF posting key. Also make sure you have removed the example accounts (social and bad.account are just for testing).
Is there a list of nodes?
https://ripplerm.github.io/steem-servers/
See my previous Ruby How To posts in: /f/ruby
If you're using Dr. Phil, I'd love to hear from you. Drop me a line and tell me what you think! I'm @inertia on STEEM and SteemSpeak.
I don't believe in intellectual "property". If you do, consider Dr. Phil as licensed under a Creative Commons