缺少)参数列表(节点)之后

时间:2016-05-02 20:00:22

标签: javascript twitter bots

我使用Node运行此程序,我的错误在哪里?在争论列表之后,它说我失踪了。我无法找到这个错误的位置,我已经尝试过把它放在不同的地方。我使用的是Node v5

var Twit = require('twit');

var T = new Twit(require('./config.js'));

var stream = T.stream('statuses/filter', {
  track: 'xoxo, oi, i\m fine,'
});


(stream.on('tweet', function(tweet) {
    console.log('@' + tweet.user.screen_name + ': ' + tweet.text);
    if (tweet.text.indexOf('RT') > -1) {
      return;
    }

    var replyString;

    if (tweet.user.utc_offset === null) {
      replyString = ' Ok';
    } else {
      replyString = ' Okay';
    }
  })


  (T.post('statuses/update', {
        status: '@' + tweet.user.screen_name + replyString,
        in_reply_to_status_id: tweet.id_str
      }, function(err, data, response) {
        if (err) {
          console.log(err);
          return;
        }
      }

      tweet.botReplyId = data.id_str);

    db.tweets.insert(tweet);
  });
(end)
})

setInterval(stream, 60000);

1 个答案:

答案 0 :(得分:0)

关于范围,代码似乎有点无处不在,这使得它有点难以理解。

尝试使用类似下面的内容,稍微注释一下,应该有助于避免这样的问题(因为它似乎验证没有任何错误):

// Define your variables
var Twit = require('twit');
var T = new Twit(require('./config.js'));
var stream = T.stream('statuses/filter', { track: 'xoxo, oi, i\'m fine,'});

// When a tweet occurs
(stream.on('tweet', function(tweet) {
    // Log it
    console.log('@' + tweet.user.screen_name + ': ' + tweet.text);
    // Determine if it is a retweet and ignore
    if (tweet.text.indexOf('RT') > -1) { return; }
    // Set your reply
    var replyString = (tweet.user.utc_offset === null) ? ' Ok' : ' Okay';
    // Post your reply
    T.post('statuses/update', { status: '@' + tweet.user.screen_name + replyString, in_reply_to_status_id: tweet.id_str}, function(err, data, response) {
          // If an error occurs, log it
          if (err) {
            console.log(err);
            return;
          }
          // Otherwise store your response and store it
          tweet.botReplyId = data.id_str;
          db.tweets.insert(tweet);
    });
}));
// Check your stream every 10 minutes
setInterval(stream, 60000);