 Hey everyone š, you might have noticed Iāve been learning about the Steem-js library and building a couple of projects. I wanted to create my first tutorial to show you how to create a simple Steem bot in Javascript. There is a lot we could do with a bot but for the purpose of this tutorial and to keep it beginner friendly our bot will be fairly simple. > The completed bot code is [here](https://gist.github.com/code-with-sam/0864e91b85377a2f5b497007a2fcd5dd) - I know some people find it easier to see everything in one block and follow along that way. ā¬ ļø # Outline We will create an auto-voting bot, our bot will automatically upvote posts from our selected list of usernames. Imagine you have new friends joining the platform, and you want to encourage them with upvotes but youāre too busy to check Steemit regularly. ## What you need - A plain text editor (I use [atom.io](http://atom.io) ) - Your private posting key - This is found in your wallet on the permissions tab on steemit.com, click āshow private keyā (remember to keep this safe). This is what allows the bot to vote for you ## Goals - specify a list of usernames (our friends) - connect to the Steem-js API - check when a new post is posted to the Steem network - check if the post belongs to any of our friends - send a vote to that post ## Step 1 - setup š» For this tutorial our bot will run in the web browser, a more effective way to use this bot would be on the command-line but weāll save that for another post. Weāre going to set up a blank HTML file and link to the steem.js library. The library does most of the work, talking to the Steem network and means we have to write very little code ourselves. ``` <html> <head> <script src="https://cdn.steemjs.com/lib/latest/steem.min.js"></script> <script></script> </head> <body></body> </html> ``` Go ahead and save this file as bot-tutorial.html. You can open this up in your browser although youāll just see a white screen for now. Looking at the code you can see we have added the basic structure of a html page. All pages are made up on the <html>,<head> and <body> tags. Weāve linked to the steemjs library file with a script tag. We also have our own <script> tags to work with. This is where our javascript code will go. Let's try testing everything is good to go. Add a console message to your script tag like so. ``` <script> console.log(āhello, is this workingā) </script> ``` Now open up the developer tools in your browser and move to the console. - Chrome - View > Developer > Javascript Console - FireFox - Tools > Web Developer > Browser Console - Safari - Develop (turn on in advanced options - Safari prefrences) > Show Javascript Console - IE/Edge/Windows š¤·āāļø  If youāve got the message above, let's keep moving. ## Step 2 - create friends list š« Weāll store a list of friends in our code to start, we can use these names later to decide if to vote or not. In javascript lists of information are called an Array, they are specified with the square brackets. Text needs to be represented with single or double quotes around it and itās a list so we separate the names with commas. Add this line below our console.log from above. ``` const FRIEND_LIST = ['sam', 'fred', 'sarah', 'lucy'] ``` ```const``` Is a store of information that is constant, so our list of friends canāt/wonāt change once our bot is running. ## Step 3 - Connect to the Steem-js API š Here comes the fun part. We want to connect to the steem network and check all new transactions. Each block on the steem blockchain holds transactions, these can be anything transfers, votes, comments, profile updates to name just a few. Once we connect every couple of seconds weāll be sent new data from the blockchain. First, we need to set the URL where we receive information (currently the CDN hosted teemA-js tries to connect to an out of date URL *as of 6th Jan) Whenever we interact with the Ateem-js library weāll specify ```steem.api.``` and then the action weāre taking, most actions also need some extra information (these are called arguments), in this case, itās the URL we want to connect to. ``` steem.api.setOptions({ url: 'wss://rpc.buildteam.io' }); ``` The real magic is this next line. ``` steem.api.streamTransactions('headā,(error, result) => {}); ``` This time weāre using the streamTransactions action to request the transactions from each block as theyāre processed. weāre then taking the data (the error and the result and sending them into our own action. Between those curly baskets ```{}``` we can check for an error or see the result. Let's try that. ``` steem.api.streamTransactions('headā,(error, result) => { console.log(error, result) }); ``` as new transactions come In weāll see each one in the browser console. It might look a bit funky, you also might get a lot, donāt worry weāll narrow it down in just a second. ```{ref_block_num: 60613, ref_block_prefix: 233123265, expiration: "2018-01-08T17:34:44", operations: Array(1), extensions: Array(0), ā¦}``` Okay looking at above we have, Block Number, Operations, extensions etc. What weāre looking at is a Javascript Object, itās a way to store a group of information together. Weāre interested in the Operations part. To make life easier for ourselves lets store the relevant information with better names. Click the little down arrows to see inside to the information we want.  ``` steem.api.streamTransactions('headā,(error, result) => { let txType = result.operations[0][0] let txData = result.operations[0][1] console.log(txType) }); ``` We creating two variables here to store our information. transaction type eg vote, comment etc and transaction data this is everything else relevant so for a comment it might be who commented and on what post etc. We first take the result then specify we want just the operations part then because operations is an Array we select the parts we want with square brackets. Now instead of seeing all of the information coming through, weāll just see the type. Try it out. For our bot weāre interested in ācommentsā, this is because there is actually not a type of post or blog, all blogs are classified as comments on the Steem network, its just that blog posts arenāt replying to anyone. ## step 4 - checking friends names š we need to create a way to check if the names we get from the blockchain match those in our list of friends. Letās make a function. Functions allow us to create blocks of code we can reuse over and over. ``` function isFriend(name){ return (FRIEND_LIST.indexOf(name) > -1); } ``` Out function takes one piece of data ānameā and itās going to return us a yes/no or really a true/false answer. Whatās happening here is we are taking our ```FRIEND_LIST``` and looking for the index( the position ) of the name we entered. if our friend is is the list it will say 1 or 3 for example if not it says -1. checking if the answer is ```> -1``` gives us our true/false for friends. Try it out. ``` function isFriend(name){ return (FRIEND_LIST.indexOf(name) > -1); } isFriend(āsamā) // yes isFriend(ālucyā) // yes isFriend(ābobā) // no ``` next, weāll create another function to check the transaction data. Weāre looking to see if the ```author``` is our friend (with the function above), but we also need to check that the ```parent_author``` is empty, if itās empty we know this is a blog post and not a comment on someone else post. ``` function checkAuthor(txData){ if (txData.parent_author == '' && isFriend(txData.author)){ console.log(āour friend posted a blog post!!!ā) } } ``` This one is a little more involved. we are checking the transaction data which looks like this. ``` author: ānamehereā body: "That is a blast. It has an amazing potential!āµI will definitely participate in it!" json_metadata : "{"tags":["crypto"],"app":"steemit/0.1"}" parent_author: "" parent_permlink: "" permlink : ālongāname-like-thisproject-20180108t173707137z" title: āawesome post titleā ``` you access this information with dot notation so if we want the author it is ```txData.author``` itās called txData because thatās what we specified in our function it could be called anything. this time weāre checking that this is a blog post and not just a comment with ```txData.parent_author == '' ``` thatās checking the parent_author is empty and using our function to check if the ```txData.author``` is in our friend's list. Going back to out Steem transaction function we can combine these together. Weāll check the transaction type is equal to comment and then weāll check the author. ``` steem.api.streamTransactions('head', (err, result) => { console.log(result) let txType = result.operations[0][0] let txData = result.operations[0][1] if(txType == 'comment') { checkAuthor(txData) } }); ``` Looking good. With all this together weāll get a message in the browser console every time any of our friend's posts! ## Step 5 - Sending Votes š Okay, weāre super close! Final Steps! First up let's make a couple more constants to store information. You can do this at the top of your script, right by your friend's list. ``` const ACCOUNT_NAME = āyourusernamehereā const ACCOUNT_POSTING_KEY = āyourprivatepostingkeyhereā ``` Fill in this information with your username and private posting key. ``` function sendVote(author, permlink){} ``` Let's create another function, this time the data we need is the author and the permlink, this is going to be which author and what post weāre voting on. ``` function sendVote(author, permlink){ steem.broadcast.vote(ACCOUNT_POSTING_KEY, ACCOUNT_NAME, author, permlink, 10000, function(err, result) { console.log(result); }); } ``` Here you can see weāre doing a āsteem.broadcastā the data we need to send is the posting key, account name, the author, the link and a voting weight. Note the voting weight does not use percentages so 10000 is the same as 100%. All thatās left to do is using this function inside our check author function. letās edit that now. ``` function checkAuthor(txData){ if (txData.parent_author == '' && isFriend(txData.author)){ sendVote(txData.author, txData.permlink) } } ``` Update the function to add our sendVote function instead of just a message. Weāre taking the data from the transaction and using it in our send vote function. **thatās it** - run this code in your browser and whenever your friend postās it will automatically upvote their post. š [Here's the full code](https://gist.github.com/code-with-sam/0864e91b85377a2f5b497007a2fcd5dd) Thereās a lot more we can do with bots and the Steem API but I hope this has been an interesting look at a simple bot. *post note - are bots a good idea? do bots devalue the Steemit platform? really interested to hear your thoughts on this. My take is that any ābad guysā already know how to do this so showing you isnāt such a big deal. Remember to consider weāre hear to talk to humans, not robots. Use your new skills wisely* <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@sambillingham/tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
author | sambillingham | ||||||
---|---|---|---|---|---|---|---|
permlink | tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes | ||||||
category | utopian-io | ||||||
json_metadata | {"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":63857882,"name":"steem-js","full_name":"steemit/steem-js","html_url":"https://github.com/steemit/steem-js","fork":false,"owner":{"login":"steemit"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","tutorial","steemdev","programming","learntocode"],"users":["sambillingham"],"links":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1515437560/iyzukkiieztcy93h1aap.png","https://gist.github.com/code-with-sam/0864e91b85377a2f5b497007a2fcd5dd","http://atom.io","https://res.cloudinary.com/hpiynhbhq/image/upload/v1515436634/pcoq0ykrkqajhhgiwx2n.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1515436682/glwdsnym83irtdalknh7.png"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1515437560/iyzukkiieztcy93h1aap.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1515436634/pcoq0ykrkqajhhgiwx2n.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1515436682/glwdsnym83irtdalknh7.png"],"moderator":{"account":"shreyasgune","reviewed":true,"pending":false,"flagged":false}} | ||||||
created | 2018-01-08 18:39:06 | ||||||
last_update | 2018-01-09 08:22:09 | ||||||
depth | 0 | ||||||
children | 23 | ||||||
last_payout | 2018-01-15 18:39:06 | ||||||
cashout_time | 1969-12-31 23:59:59 | ||||||
total_payout_value | 17.906 HBD | ||||||
curator_payout_value | 7.634 HBD | ||||||
pending_payout_value | 0.000 HBD | ||||||
promoted | 0.000 HBD | ||||||
body_length | 11,606 | ||||||
author_reputation | 34,876,406,478,004 | ||||||
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " | ||||||
beneficiaries |
| ||||||
max_accepted_payout | 1,000,000.000 HBD | ||||||
percent_hbd | 10,000 | ||||||
post_id | 28,062,599 | ||||||
net_rshares | 2,908,545,574,677 | ||||||
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
berkah | 0 | 4,619,591,894 | 5% | ||
mrs.agsexplorer | 0 | 8,597,589,826 | 2% | ||
pnc | 0 | 15,289,372,740 | 5% | ||
teamsteem | 0 | 515,927,204,577 | 5% | ||
hitmeasap | 0 | 3,250,195,475 | 2.5% | ||
abiky | 0 | 0 | 100% | ||
sambillingham | 0 | 13,131,128,704 | 100% | ||
anonimnotoriu | 0 | 30,870,420,677 | 100% | ||
greenstar | 0 | 1,984,186,078 | 5% | ||
gokulnk | 0 | 0 | 100% | ||
tzap90 | 0 | 849,849,702 | 100% | ||
adrian25 | 0 | 586,851,115 | 100% | ||
arifien | 0 | 237,629,700 | 100% | ||
utopian-io | 0 | 2,308,517,857,831 | 1.38% | ||
charismatics | 0 | 126,743,531 | 100% | ||
bradleyhicks | 0 | 1,096,942,984 | 100% | ||
norisv | 0 | 202,930,846 | 100% | ||
learntocode | 0 | 605,282,500 | 100% | ||
cutemachine | 0 | 1,143,165,719 | 100% | ||
mbilalihsan | 0 | 893,574,215 | 100% | ||
la7me | 0 | 615,056,563 | 100% | ||
marstune | 0 | 0 | 100% | ||
freddy41 | 0 | 0 | 100% | ||
markgritter | 0 | 0 | 100% | ||
herbncrypto | 0 | 0 | 0% |
Great stuff Sam! Useful especially now that @steemvoter [stopped working](https://steemit.com/steemvoter/@steemvoter/steemvoter-service-temporarily-down/) and won't work for at least 1 week. Thanks for this.
author | anonimnotoriu |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180108t200835518z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"users":["steemvoter"],"links":["https://steemit.com/steemvoter/@steemvoter/steemvoter-service-temporarily-down/"],"app":"steemit/0.1"} |
created | 2018-01-08 20:08:36 |
last_update | 2018-01-08 20:08:36 |
depth | 1 |
children | 0 |
last_payout | 2018-01-15 20:08:36 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.098 HBD |
curator_payout_value | 0.029 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 207 |
author_reputation | 3,101,674,089,461 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 28,076,621 |
net_rshares | 12,214,967,299 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
sambillingham | 0 | 12,214,967,299 | 100% | ||
advsamadhan | 0 | 0 | 100% |
This is pretty cool! I think I'm following just enough people to vote for myself,but I will co sider this! So well explained!
author | byiriss |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180108t185345856z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-01-08 18:53:48 |
last_update | 2018-01-08 18:53:48 |
depth | 1 |
children | 1 |
last_payout | 2018-01-15 18:53:48 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.132 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 125 |
author_reputation | 499,669,317,967 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 28,065,288 |
net_rshares | 12,736,030,930 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
sambillingham | 0 | 12,736,030,930 | 100% |
š Thanks for taking a look. It's not the best bot concept, to be honest, but it's the simplest one I could think up that might still have some real use case. Hopefully, it shows that you don't need a crazy amount of code or knowledge to make a š¤ do some work for you.
author | sambillingham |
---|---|
permlink | re-byiriss-re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180108t185738089z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-01-08 18:57:36 |
last_update | 2018-01-08 18:57:36 |
depth | 2 |
children | 0 |
last_payout | 2018-01-15 18:57:36 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 268 |
author_reputation | 34,876,406,478,004 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 28,065,925 |
net_rshares | 520,219,958 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
byiriss | 0 | 520,219,958 | 100% |
Great tutorial. I will use it to write a bot which upvotes all sambillingham posts, so I do not have to do it manually. Will save me lots of time ;) Thanks.
author | cutemachine |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180108t190704907z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-01-08 19:07:06 |
last_update | 2018-01-08 19:07:06 |
depth | 1 |
children | 1 |
last_payout | 2018-01-15 19:07:06 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.098 HBD |
curator_payout_value | 0.029 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 156 |
author_reputation | 13,229,471,185,839 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 28,067,607 |
net_rshares | 12,125,921,664 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
sambillingham | 0 | 12,125,921,664 | 100% |
Haha too kind, thanks for checking it out Jo!
author | sambillingham |
---|---|
permlink | re-cutemachine-re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180108t195237941z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-01-08 19:52:39 |
last_update | 2018-01-08 19:52:39 |
depth | 2 |
children | 0 |
last_payout | 2018-01-15 19:52:39 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 45 |
author_reputation | 34,876,406,478,004 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 28,074,016 |
net_rshares | 0 |
For this particular version of js file can you post the code for post comments? <code> var parentAuthor = 'author1'; var parentPermlink = 'permlink; var commentPermlink = steem.formatter.commentPermlink(parentAuthor, parentPermlink); var postTitle = WELCOME_COMMENT_TITLE; var postBody = WELCOME_COMMENT_BODY; steem.broadcast.comment(ACCOUNT_WIF, parentAuthor, parentPermlink, ACCOUNT_NAME, commentPermlink, postTitle, postBody, {"tags":["tag1"]}, function(err, result) { console.log(result); }); </code> The above code doesn't seem to work and the version specific changes are not documented well enough I think.
author | gokulnk |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180120t222616121z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"} |
created | 2018-01-20 22:26:18 |
last_update | 2018-01-20 22:26:18 |
depth | 1 |
children | 6 |
last_payout | 2018-01-27 22:26:18 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 675 |
author_reputation | 17,871,219,215,380 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 30,964,951 |
net_rshares | 0 |
Hey @gokulnk, can you be a little more clear so I can help you out? - Where is this code from? (it's not this tutorial) - What do you mean by 'code doesn't work' - what error messages are you getting, what is happening? - What are you wanting to do? - Can you post your full code somewhere?
author | sambillingham |
---|---|
permlink | re-gokulnk-re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180121t220727720z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"users":["gokulnk"],"app":"steemit/0.1"} |
created | 2018-01-21 22:07:24 |
last_update | 2018-01-21 22:07:24 |
depth | 2 |
children | 5 |
last_payout | 2018-01-28 22:07:24 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 292 |
author_reputation | 34,876,406,478,004 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 31,210,096 |
net_rshares | 0 |
The code you have given in your sample works perfectly. I was just trying to build on it to add comments to a post. I keep getting the following error. ``` "Expected version 128, instead got 149" ``` Please let me know if you were able to post comments through the code.
author | gokulnk |
---|---|
permlink | re-sambillingham-re-gokulnk-re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180122t145010549z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-01-22 14:50:18 |
last_update | 2018-01-22 14:50:18 |
depth | 3 |
children | 4 |
last_payout | 2018-01-29 14:50:18 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 277 |
author_reputation | 17,871,219,215,380 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 31,401,800 |
net_rshares | 0 |
Great post @sambillingham. Its a good starting point for coding with steemjs. In ``steem.api.streamOperations`` and ``steem.api.streamTransactions`` is there a way to find out if the comment was created or updated? I was not able to find any parameter using which I could differentiate a create from update operation.
author | gokulnk |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180201t103710723z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"users":["sambillingham"],"app":"steemit/0.1"} |
created | 2018-02-01 10:37:12 |
last_update | 2018-02-01 10:37:12 |
depth | 1 |
children | 0 |
last_payout | 2018-02-08 10:37:12 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 318 |
author_reputation | 17,871,219,215,380 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 34,100,451 |
net_rshares | 0 |
thanks for this post I was actually looking for this
author | maheshmnj |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180109t025443338z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-01-09 02:54:48 |
last_update | 2018-01-09 02:54:48 |
depth | 1 |
children | 0 |
last_payout | 2018-01-16 02:54:48 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 52 |
author_reputation | 40,762,185,723 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 28,146,450 |
net_rshares | 0 |
very nice, I see your posts add to the science and I'll try it that way, maybe I'm still a beginner, if you have time to spare can be guided me and sharing our knowledge and we can share knowledge news about steemit.
author | marstune |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180121t211333749z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"community":"busy","app":"busy/2.2.0"} |
created | 2018-01-21 21:13:33 |
last_update | 2018-01-21 21:13:33 |
depth | 1 |
children | 0 |
last_payout | 2018-01-28 21:13:33 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 216 |
author_reputation | 220,189,166,018 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 31,199,826 |
net_rshares | 0 |
Informative post
author | masrooranwer |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180109t065111015z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-01-09 06:51:09 |
last_update | 2018-01-09 06:51:09 |
depth | 1 |
children | 0 |
last_payout | 2018-01-16 06:51:09 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 16 |
author_reputation | 609,541,069 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 28,185,141 |
net_rshares | 0 |
Thank you very much for informative post
author | mbilalihsan |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180108t184040142z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-01-08 18:40:39 |
last_update | 2018-01-08 18:40:39 |
depth | 1 |
children | 1 |
last_payout | 2018-01-15 18:40:39 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 40 |
author_reputation | 1,558,028,835 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 28,062,908 |
net_rshares | 0 |
š You read super fast, 1700 words in 47 seconds ....
author | sambillingham |
---|---|
permlink | re-mbilalihsan-re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180108t184236129z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-01-08 18:42:36 |
last_update | 2018-01-08 18:42:45 |
depth | 2 |
children | 0 |
last_payout | 2018-01-15 18:42:36 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 53 |
author_reputation | 34,876,406,478,004 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 28,063,303 |
net_rshares | 1,080,397,849 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
byiriss | 0 | 530,420,349 | 100% | ||
cutemachine | 0 | 549,977,500 | 100% |
I'm clearly late to this party, but I wanted to thank you for this great tutorial! I'll go find a more recent post from you to upvote :)
author | mjo |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180405t160910423z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-04-05 16:09:09 |
last_update | 2018-04-05 16:09:09 |
depth | 1 |
children | 0 |
last_payout | 2018-04-12 16:09:09 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 136 |
author_reputation | 277,505,434,581 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 48,510,579 |
net_rshares | 4,089,476,049 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
mjo | 0 | 4,089,476,049 | 100% |
Thank you for the contribution. It has been approved. You can contact us on [Discord](https://discord.gg/UCvqCsx). **[[utopian-moderator]](https://utopian.io/moderators)**
author | shreyasgune |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180109t082205011z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"} |
created | 2018-01-09 08:22:15 |
last_update | 2018-01-09 08:22:15 |
depth | 1 |
children | 1 |
last_payout | 2018-01-16 08:22:15 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.104 HBD |
curator_payout_value | 0.029 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 172 |
author_reputation | 4,924,803,411,962 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 28,198,857 |
net_rshares | 12,443,997,936 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
sambillingham | 0 | 12,443,997,936 | 100% |
Awesome thanks for approving this tutorial it so quickly! ā”ļøš
author | sambillingham |
---|---|
permlink | re-shreyasgune-re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180109t094611094z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-01-09 09:46:12 |
last_update | 2018-01-09 09:46:12 |
depth | 2 |
children | 0 |
last_payout | 2018-01-16 09:46:12 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 61 |
author_reputation | 34,876,406,478,004 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 28,212,547 |
net_rshares | 0 |
Thanks for this info. I think it's still helpful even now.
author | the4thmusketeer |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180809t220943907z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit/0.1"} |
created | 2018-08-09 22:09:42 |
last_update | 2018-08-09 22:10:00 |
depth | 1 |
children | 0 |
last_payout | 2018-08-16 22:09:42 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 58 |
author_reputation | 321,885,398,962,151 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 67,686,861 |
net_rshares | 4,473,171,349 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
the4thmusketeer | 0 | 4,473,171,349 | 8% |
### Hey @sambillingham 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! #### Suggestions - Contribute more often to get higher and higher rewards. I wish to see you often! - Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck! #### Get Noticed! - Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions! #### Community-Driven Witness! I am the first and only Steem Community-Driven Witness. <a href="https://discord.gg/zTrEMqB">Participate on Discord</a>. Lets GROW TOGETHER! - <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for my Witness With SteemConnect</a> - <a href="https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1">Proxy vote to Utopian Witness with SteemConnect</a> - Or vote/proxy on <a href="https://steemit.com/~witnesses">Steemit Witnesses</a> [](https://steemit.com/~witnesses) **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**
author | utopian-io |
---|---|
permlink | re-sambillingham-tutorial-beginner-friendly-build-your-first-steem-bot-in-javascript-30minutes-20180109t231551829z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"} |
created | 2018-01-09 23:15:51 |
last_update | 2018-01-09 23:15:51 |
depth | 1 |
children | 0 |
last_payout | 2018-01-16 23:15:51 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 1,511 |
author_reputation | 152,955,367,999,756 |
root_title | "TUTORIAL - Beginner friendly - Build your first steem bot in Javascript - 30minutes " |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 28,358,269 |
net_rshares | 0 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
sambillingham | 0 | 0 | 23% |