Steemit bot making with node-js can run in android ,window and linux and mac any os here is how how to make bot for steemit and curator reward bot

in #steemit7 years ago

Hello friends

I gonna tell you about using bot on steemit i am not the maker of the boot it is open-source can be found on github but first i want to tell you about my strategy
images (17).jpeg

strategy


I follow some new user and results may they follow back in a ratio 100/1000. It less but if I can follow 20,000 user then I have as a average of 2000 follower .

After some days I unfollow those who not following me using another bot called unfollow bot. And repeat in this way I have more follower
After some trending post I unfollow all because there is no notification system on web application but in esteem app

envernmental setup

window

For window

Download node-js and install

##Step-1

Go to-
https://nodejs.org/en/download/

Screenshot_20180307-195358.png

and install it.

Android and linux

Android user
####step-1

Goto->playstore->search for termux ->install termux

Screenshot_20180307-195915.png

Run following commands

pkg install nodejs

Screenshot_20180307-200344.png

Type y and enter install it

On Linux

Open Linux terminal and run

apt-get install nodejs

Screenshot_2018-03-07-20-07-54.png

Downloading required library

###

for all OS followed by for window , Android and linux open command prompt,termux ,terminal run following command

npm install steem

Screenshot_20180307-201544.png

Screenshot_20180307-201800.png

Open a code editer

Write following code

_________________&&&&&_________________

var config = {};

config.steem = {};

//Global Configuration
config.steem.username = process.env.STEEM_USER || 'username';
config.steem.password = process.env.STEEM_PASSWORD || 'pasword here';
config.steem.url = 'wss://steemd-int.steemit.com';
config.steem.auth_type = 'owner'; //owner, posting

//delay in milliseconds between each write transaction
config.steem.delay = 250;

//must be from username, goes with demo start.js only
config.steem.sample_post = 'creating-first-steemit-bot';

//optional account to start at in alphanumerisymbolical order
//this is not applicable in follow_trending_authors, follow_back, generate_contest_winners bots
//todo - add this config to other applicable bots; create a config.steeem.end that works much the same
config.steem.start = "";

//memos only
config.steem.type = false; //either following or followers
config.steem.message = 'Hi @username!'; //message to be sent in each memo (@username will be replaced)
config.steem.amount = '0.001 SBD'; //amount of SBD or STEEM to send to each follower/following
config.steem.send_memos_to = false;//an array of accounts to send memos to, else false

//curation only
config.steem.curation_type = 'created'; //created, hot or trending
config.steem.tags = ['steem','steemit','utopian-io']; //tags. leave empty for all trending tags
config.steem.vote_percent = 1; //percentage of vote for each vote

//generate_contest_winners only
config.steem.contest_permlink = '40-sbd-webgl-screen-capture-contest';
config.steem.contest_sublink = 'https://experiments.withgoogle.com/chrome/';
config.steem.require_graphic = true;
config.steem.require_link = true;
config.steem.require_followers = true;
config.steem.require_resteem = true;
config.steem.filter_by_date = '2018-02-15 20:27:27';
config.steem.filter_by_accounts = false;
config.steem.filter_by_disqualified = false;

//follow_back only
config.steem.unfollow_nonfollowers = false; //if a user unfollows this account, then unfollow them

//follow_accounts only
config.steem.follow_accounts_from = 'money-dreamer';
config.steem.accounts_to_follow = []; //this will be ignored if config.steem.follow_accounts_from is not false
config.steem.follow_accounts_from_type = 'followers'; //either following or followers

//get_reblogs_steemsql only
config.steem.steemsql_username = '';
config.steem.steemsql_password = '';
config.steem.steemsql_server = '';
config.steem.steemsql_database = '';

//and thats that
module.exports = config;

__&________________________&&&_______

And save as config.js

In same directory


var steem = require('steem');
var config = require('./config');
steem.api.setOptions({ url: config.steem.url });
var wif = steem.auth.toWif(config.steem.username, config.steem.password, config.steem.auth_type);
var followingArray = [];

function uniq(a) { return a.sort().filter(function(item, pos, ary) {
return !pos || item != ary[pos - 1];
}) }

function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}

async function startFollowAccountsInTrending(result) {
var trending_tags = result.tag_idx.trending;
for(var attributename in trending_tags) {
console.log(attributename+": "+trending_tags[attributename]);

steem.api.getState('/created/'+trending_tags[attributename], function(err, result) {
followAccountsInTrending(result);
});

            await sleep(config.steem.delay);

    }

}

async function followAccountsInTrending(result) {

    var content = result.content;
    var accounts = result.accounts;


for(var attributename in accounts) {
    //console.log(attributename+": "+accounts[attributename]);
    var following = accounts[attributename].name;

            if( followingArray.indexOf(following) !== -1 ) {
                    console.log("This item already exists");
                    continue;
            }

            let followReq = ["follow"]
            followReq.push({follower: config.steem.username, following: following, what: ["blog"]})

            const customJson = JSON.stringify(followReq)

            console.log( followReq );

            followingArray.push(following);

            steem.broadcast.customJsonAsync(wif, [], [config.steem.username], "follow", customJson)
              .then(console.log)
              .catch(console.log)

             await sleep(config.steem.delay);

             console.log( followingArray );

    }

}

//TODO move this to library.js
function getFollowing(start=config.steem.user,count=100) {
//console.log( 'test' );
steem.api.getFollowing(config.steem.username, start, 'blog', 100, function(err, result){

    start = '';
    count = result.length;

    //Inner loop: the followings' accounts following.
    for (let i = 0; i < count; i++) {
            followingArray.push(result[i].following);
            start = result[i].following;
    }

    if( count === 100 )
            getFollowing( start, count );
    else
                    steem.api.getState('/trending', function(err, result) {
                            startFollowAccountsInTrending(result);
                    });

    });

}

getFollowing();


Save as bot.js
On same directory you save config.js

Screenshot_20180307-203820.png

I use vi editer

Then cd into diractory

Useing cd [dir]

And run

Command

node test.js

Screenshot_20180307-205052.png

But cheack your band width

Http://www.steemd.com/@username

It not go less than 50%

For curator bot and more follow me