我正在使用npm twitter来创建一个简单的Twitter机器人,以回复它作为更大的Node.js应用程序的一部分进行标记的推文。
要收听/流式推文,我在编写此代码时提到了我的应用程序,该工作正常:
client.stream('statuses/filter', {track: HANDLE}, function(stream) {
stream.on('data', function(tweet) {
console.log(tweet.text);
});
stream.on('error', function(error) {
throw error;
});
});
要发布推文我使用此代码,并且一切正常:
var message = "@"+tweet.user.screen_name+" Thanks for your tweet ";
client.post('statuses/update', {status: message}, function(error, tweet, response){
if(error) throw error;
});
所以我的自然想法就是在推特提到这个推特之后发布一条推文我将使用这段代码:
client.stream('statuses/filter', {track: HANDLE}, function(stream) {
stream.on('data', function(tweet) {
console.log(tweet.text);
var message = "@"+tweet.user.screen_name+" Thanks for your tweet ";
client.post('statuses/update', {status: message}, function(error, tweet, response){
if(error) throw error;
});
});
stream.on('error', function(error) {
throw error;
});
});
但是这就是一切都失败的地方,第一个错误块会抛出一个错误(而不是一个非常具有描述性的错误)。所以我想这是因为我无法在client.stream中调用client.post。 那么我怎样才能以正确的Node方式实现这一目标呢?
提前感谢任何建议