在Nodejs中开发者twitter bot时循环回复

时间:2017-03-13 17:18:08

标签: javascript node.js twitter bots

我正在开发一个项目,我有一个Twitter机器人,可以回复每个推文的内容。

这是我的代码:

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);

我跟着这个回购工作:https://github.com/ttezel/twit

但我有一个问题:当我运行上面的代码时,机器人在一条推文上回复这么多时间,我不知道为什么。 虽然我已为此功能设置了间隔时间。

我是节点新手,任何帮助都会很棒!感谢

1 个答案:

答案 0 :(得分:0)

哦,很抱歉,我在这里永远得到了一个循环:

功能(错误,推文,响应)

它不应该是推文arg