Updated some codes on back-end of steemauto.com
By these changes, curation trail should work fine. You don't need to understand that codes.
Commits:
Number 1: Streaming blocks and upvoting curation trail.
Some codes:
...
...
var users=[];//fanbase
var users1=[];//trailers
var users2=[];//commentupvote
var server = https://private_server; //upvoting server
con.query('SELECT `user` FROM `trailers` WHERE `followers`>0', function (error, results, fields) { //Selecting Trailers
for(i in results){
users1.push(results[i].user);
}
});
// Updating Users List Every 10 Minutes
setInterval(function(){
try{
con.query('SELECT `user` FROM `trailers` WHERE `followers`>0', function (error, results, fields) {
var busers=[];
for(i in results){
busers.push(results[i].user);
}
users1 = busers;
});
}
catch(e){
console.log('error in updating users'+e);
}
},600000);
...
...
Number 2: Checking upvote queue and upvoting after x minutes.
Some codes:
...
...
//streaming block numbers
steem.api.streamBlockNumber(function (err1, newestblock) {
console.log(newestblock);
});
// Upvote function - included 0 seconds delay!
var delay = 0;
function upvote(voter,author,permlink,weight,type){
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
if(this.responseText == 1){
console.log('up done');
}else if(this.responseText == 0){
console.log('err in up.');
}
}
};
xmlhttp.open("GET", server+'/?wif='+wifkey+'&voter='+voter+'&author='+author+'&permlink='+permlink+'&weight='+weight , true);
xmlhttp.send();
return 1;
}
...
...
Number 3: Upvote server which is running on a private node server.
Some codes:
...
...
if(wif && voter && author && permlink && weight){
steem.api.getContentAsync(author, permlink, function(erz, rez) { //checking if post already upvoted or not
if(!erz && rez){
var voted = 0;
for(j in rez['active_votes']){
if(rez['active_votes'][j].voter == voter){
voted = 1;
break;
}
}
if(voted == 0){
steem.broadcast.vote(wif,voter,author,permlink,weight,function(downerr, result){ //broadcasting upvote
if(!downerr && result){
res.end('1');
}else{
res.end('0');
}
});
}else{
res.end('0');
}
}else{
res.end('0');
}
});
}
...
...
More information about codes included as comments on each file.
What is Steemauto?
Steemauto comes with amazing features, Schedule post, Build a Fanbase, or leave a curation trail for users all around the world to follow.
Steemauto is open source, unlimited, secure and free app for steem users.
Regards,
Steem witness,
Mahdi Yari,
2018-01-29
Posted on Utopian.io - Rewarding Open Source Contributors