Vooby STEEM Bot v0.0.2 - Open Source NodeJS New Post in Tag Vote Script (Revised)
steemdev·@klye·
0.000 HBDVooby STEEM Bot v0.0.2 - Open Source NodeJS New Post in Tag Vote Script (Revised)
<center></center> <center><b>Ever wanted to upvote every new post in a certain tag?</b></center> <center><h1>Vooby</h1></center> Vooby stands for "Voting Noobies" and is a stand alone NodeJS script which allows anyone to automate upvoting all post in the "#introduceyourself" (or any other) tag. I created it over the past few hours after deciding it would be neat to experiment with upvoting new users to see if it increases user retention.. and also to reward new comers to our network with their first little bit of post payout! <center><h1>Installation & Bot Usage</h1></center> First off this is a NodeJS script so you'll have to head on over to their website at [NodeJS.org](https://nodejs.org/) and install whatever offering they have for your operating system <center></center> Once you've got nodeJS installed the next step is to copy the script below into a new file on your computer.. Preferably named "voobyv002.js" or something similar! ``` //-------------------------------------------------------------------------- //----- Vooby STEEM Bot v0.0.2 //----- Developed by @KLYE || Free to Use for All! || Free to Modify ------- //----- Rekuirements to run: Node.js + steem.js //----- npm install steem --save //-------------------------------------------------------------------------- //----- PLEASE DO NOT USE THIS CODE BELOW MALICIOUSLY / FOR EVIL DEEDS ----- //-------------------------------------------------------------------------- //----- CONFIG + Get Rekuirements // ***IMPORTANT*** Your Posting Private Key Below var wifkey = ' '; // ***IMPORTANT*** Enter Voting account below (no @) var votey = "klye"; // ***IMPORTANT*** Enter the Tag you want to upvote new posts in var targettag = "art"; // ***IMPORTANT*** May want to modify this (10000 = 100% vote) var weight = 2; // No need to modify these variables var steem = require('steem'); var totalvote = 0; var metadatascan; var json_metadata; var op; //----- Script Started + Show Time console.log("==================================================================="); console.log("-------------------------------------------------------------------"); console.log("- Vooby Bot v0.0.2 ONLINE - By @KLYE - Listening to STEEM Network -"); console.log("-------------------------------------------------------------------"); console.log("==================================================================="); //----- Grab Current STEEM Block steem.api.streamBlockNumber(function (err1, newestblock) { console.log("Scanning Block #" + newestblock + " For New #" + targettag + " Posts - Posts Voted: " + totalvote); }); //NOTE: Sometimes the Script Fails to Hook Into STEEM. Try Running Script Again if it Fails! //----- See if Post is our Target Asshat ---- var process_post = function (op) { if (op["author"] != "") { console.log(targettag + " Post Has Been Detected! Upvoting!"); steem.broadcast.vote( wifkey, votey, op["author"], op["permlink"], weight, function (downerr, result) { if (downerr) { var error = JSON.stringify(downerr); if (error.toLowerCase().indexOf("You have already voted in a similar way.\n") >= 0) { console.log("Oops! Vooby tried to vote for a post it already voted on!"); } } if (result) { totalvote++; console.log("Successfully voted #" + targettag + " post!"); } } ); } }; //----- Streeming Latest Block Operations steem.api.streamOperations(function (err2, blockops) { // get 1st item in blockops an apply to operationType variable to check type later var opType = blockops[0]; // get 2nd item in blockops and store it later to be parsed if it's our specified type of operation var op = blockops[1]; if (op["json_metadata"] != undefined) { metadatascan = op["json_metadata"]; if (metadatascan != '') { var tags = JSON.parse(metadatascan); var actualtags = tags["tags"]; if (actualtags != undefined) { var tagtag = String(actualtags); if (op["parent_author"] === '') { if (tagtag.toLowerCase().indexOf(targettag) >= 0) { process_post(op); } } } } } }); ``` When you have the file saved to your computer open up command prompt (or equivalent) and navigate to the file. While you are doing this make sure to fill in the account you want to vote from and fill in your private posting key in whatever text editor of your choice. <center></center> Make sure to install Steem.js using <code>npm install steem --save </code> - After that run it with the command <code>node voobyv001.js</code> and if it's been configured correctly it should run as pictured above. Super easy to run. Shouldn't be too much of a hassle. Enjoy voting the noobs! <hr> | https://steemitimages.com/200x200/http://puu.sh/rRLx4/cb96668c43.png | <center> <h4>VOTE @KLYE FOR WITNESS </h4><b><a href="https://steemit.com/~witnesses">steemit.com/~witnesses</a></b> </center> | https://steemitimages.com/200x200/http://puu.sh/rRLx4/cb96668c43.png | |------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|
👍 steemitqa, sanks7, sirlunchthehost, pharesim, noganoo, mrwalt, altcointrends, epixar, kyusho, arisa, jackripper56, ubg, precious, little-pepper, chocolate-ghost, papa-prepper, plankton, estonia, stooge, hugbot, fbechstein, libertylol, snugglebear, treasury, wagon, singles, single, battlebots, maxdevalue, timothyb, timbot606, condra, stef, almerri, sandstorm, tj4real, youngkim, holoz0r, slider2990, kendewitt, neobarrack, erikaflynn, leongkhan, punitchoudhary, teamsteem, webdeals, cryptomancer, donato, melowd, andrewawerdna, endthefed2017, aismor, steem-id, ap2002, lamech-m, berkah, pnc, hitmeasap, hastla, elena000, awesomianist, dahaz159, nekromarinist, berlinmoonlight, sebhofmann, profitgenerator, ninkhisibir, smysullivan, leesmoketree, nezbong, sebastianjago, lily-da-vine, yung8, jakir, busser, ejhaasteem, jackkang, freebornangel, davidcurwain, sandra, creadordelfuturo, brianphobos, trisnawati, aurorax, promx, merej99, vmining, triplep, collabornation, velimir, trafalgar, hegetiby, klye, aurica72, ekan, meesterboom, sohaib1, jasmine-l, urvit2112, eroche, jamjamfood, lawrenceho84, jupiter5, abagendo, nofalali, shingi13, personz, sandra16, balbina, bayareacoins, chinese-gandalf, witus777, steem-global, izar, paint-trail, swssmarketing, unprovoked, fahrullah, roy92, drakos, blickyer,