我只是尝试使用带有" Twit"的nodejs在Twitter上发送推文。 (npm)我的代码如下所示。
stream = tweeter.stream('statuses/filter', { track: phrase, language: 'en' });
var testTweetCount = 0;
stream.on('tweet', function (data) {
var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.getDate() + "/"
+ (currentdate.getMonth()+1) + "/"
+ currentdate.getFullYear() + " @ "
+ currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":"
+ currentdate.getSeconds();
console.log("stream started Successfully with "+filterText+"- "+datetime);
//socket.emit('gotTweetss');
var tweetText = JSON.stringify(data.text);
if(tweetText){
var Created_at=JSON.stringify(data.created_at);
var User=JSON.stringify(data.user.screen_name);
tweetCollection.count({text:tweetText,user:User,Created_at:Created_at}, function(err, existdata){
/* console.log("existdata : " + existdata);*/
if(existdata > 0){
console.log("duplicate data : " + JSON.stringify(existdata));
} else{
var tText=filterText.split(',');
var chekTrue=false;
for(iix=0;iix<tText.length;iix++)
{
var twData=tweetText.toUpperCase();
var txzt=tText[iix].trim();
if(twData.indexOf(txzt.toUpperCase())>-1)
{
console.log('true');
chekTrue='true';break;
}
}
if(chekTrue=='true'){
tweetCollection.insert([{text:tweetText,user:User,Created_at:Created_at}], {w:1}, function (error) {
if (error){
console.log("Error Occurred " + error.message);
} else{
// Wait for a second before finishing up, to ensure we have written the item to disk
setTimeout(function() {
// Fetch the document
tweetCollection.findOne ({text:tweetText}, function (err, item) {
assert.equal(null, err);
if(item!=null)
assert.equal(tweetText, item.text);
})
}, 1000);
}
});
}
}
});
}
// socket.emit('gotTweet');
});
stream.on('error', function(error, code) {
console.log("My error: " + error + ": " + code);
/*if(code=="420")
{
io.sockets.emit('gotTweet');
}*/
});
stream.on('delete', function(error, code) {
console.log("My delete: : " + code);
});
这是用于获取此流的流的启动流区域的代码 &#39;蠢&#39; NPM。它在流媒体启动时显示在控制台的日期和时间同步,它的工作正常。但有些时候推文没有得到正确的解决,当我在推特上发推文这个流媒体没有得到那条推文。有没有解决方案?
答案 0 :(得分:0)
这是因为在twitter流中语言:&#39;&#39;
tweeter.stream('statuses/filter', { track: phrase, language: 'en' });
我只是删除了语言:&#39; en&#39;在上面的代码中它的工作完美
tweeter.stream('statuses/filter', { track: phrase });