Monday, 13 March 2017

Looping reply when developer twitter bot in Nodejs

I'm working on a project where I have a twitter bot that reply every tweets in its acount.

Here's my code:

var replybot = function() {
  //The word that we are going to search in tweets
  var word = 'hello';
  //Variables to store the twitter user id and screen name to make a reply
  var id_str, screen_name;

  console.log('Bot started looking for the word ' + word + '.');
  stream.on('tweet', tweetEvent );
  function tweetEvent(tweet) {

       var info_text = tweet.text;
       if (info_text.indexOf(word) > -1) {
       console.log(tweet.text); //Displays the tweet with the word
       //We store the twitter id and the user screen name to make a reply    
       id_str = tweet.id_str;
       screen_name = tweet.user.screen_name;
       console.log('need do it once');
       //Now we are going to reply the tweet

       Twitter.post('statuses/update', {in_reply_to_status_id: id_str,
       status: '@' + screen_name + ' I think you mean "goodbye"'},
       function(error, tweet, response){
            if(error) {
                console.log(' Error');
            }
            else{
                console.log('. Success!!!');
            } // Tweet body        
        });
     }
   }
   console.log('done');
   }
   replybot();
   // 'reply' a tweet in every 25 minutes
   setInterval(replybot, 1500000);

Im following this repo to work: https://github.com/ttezel/twit .

But i had an issue : when i run this code above, the bot reply so many time on one tweet, and i dont know why. Although i've set interval for this function.

Im new with node and any help would be great ! Thanks



via Vũ Lâm

No comments:

Post a Comment