Twitterbot使用节点和JavaScript不断循环

这是我第一次在这里发帖,所以提前道歉,如果没有正确地问。

我正在开发一个项目,在这个项目中,我有一个推特机器人,每次推特账户都会发布推文。

当我build立一个testing帐户,但是当我用真实账户(一个受欢迎的账户)来做这件事时,我可以使它工作,我的机器人将会持续不停地发微博。

我将我的代码放在YouTube上的Daniel Shiffman的twitter bot教程上:

…好,作为一个编辑,我已经通过另一个论坛发现,原因是我也正在为Twitter推送任何推特/爱等​​,我希望我的机器人能够响应…每个Twitter API文档:

请按照逗号分隔的用户标识列表,指示应该在stream上传递Tweets的用户。 受保护的用户不受支持。 对于指定的每个用户,该stream将包含:由用户创build的Tweets。 被用户转发的推文。 回复用户创build的任何Tweet。 用户创build的任何Tweet的转推。 手动回复,创build时不按下回复button(例如“@twitterapi我同意”)。

所以我现在需要做的是实现一些逻辑,以便我的机器人只会对我所关注的帐户的实际推特做出反应,而不会对任何推特/collections等等做出反应。

我在下面包含了一个if / else语句和我的原始代码:

console. log('The streambot is starting'); var Twit = require('twit'); var config = require('./config'); var T = new Twit(config); var stream = T.stream('statuses/filter', { follow: '(//TWITTERID OF ACCOUNT GOES HERE' }); stream.on('tweet',thisTweet); /* if ('statuses/filter' != userID){ console.log("error") } else { thisTweet; } */ 

//这个IF是试图将我的机器人的反应仅限于我所关注的帐户的推文

 function thisTweet(){ var randomWords= "//a list of random words" var splitrandom = randomWords.split(","); //picks a random word from list var oneWord = splitrandom [Math.floor(Math.random() * splitrandom .length)]; tweetIt(oneWord); } function tweetIt(txt){ var tweet = { status : txt } T.post('statuses/update',tweet,tweeted); } function tweeted(err, data, response) { if (err){ console.log("something went wrong!"); }else{ console.log("It Worked"); } } 

任何帮助将是伟大的!

我从这个twitter的开发者那里得到了一些帮助:

这应该做的伎俩:

 // define the ID of the user we are interested in var userID = 'some number'; // open a stream following events from that user ID var stream = T.stream('statuses/filter', { follow: ( userID ) }); stream.on('tweet', function (tweet) { // compare the user ID inside the Tweet object we passed in // to check it matches if (tweet.user.id == userID) { console.log("this was sent by the user we want to track") // now do something else } else { console.log(tweet.user.id + " - " + tweet.user.screen_name) // so we can ignore it } });