【问题标题】:Missing ) after argument list (Node)参数列表(节点)后缺少 )
【发布时间】:2016-08-27 16:55:37
【问题描述】:

我正在使用 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);

【问题讨论】:

  • node 告诉你错误所在的行号。检查您的错误日志或将其粘贴到此处以便我们查看

标签: javascript twitter bots


【解决方案1】:

就范围而言,代码似乎有点遍地开花,这使得它有点难以理解。

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

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

【讨论】:

  • 尝试在您的stream.on('tweet') 调用之前添加您的(,并在该语句关闭时添加另一个尾随),类似于我刚刚所做的更新。
猜你喜欢
  • 2017-09-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-12
  • 1970-01-01
  • 2021-10-23
  • 1970-01-01
  • 2021-05-08
相关资源
最近更新 更多