gpt4 book ai didi

node.js - 使用不同的轨道关键字重新启动nodejs ntwitter twitter流

转载 作者:搜寻专家 更新时间:2023-11-01 00:09:12 25 4
gpt4 key购买 nike

var twitter = require('ntwitter');
// Configure twitter

var keywords = ['hello', 'world'];

twit.stream('statuses/filter', {'track':keywords.join(',')}, function(stream) {
stream.on('data', function (data) {
console.log(data);
});

stream.on('end', function (response) {
console.log("\n====================================================");
console.log("DESTROYING");
console.log("====================================================\n");
});

setTimeout(function(){
stream.destroy();
}, 60000);
});

我是 nodejs 新手。停止这种情况并使用一组不同的关键字重新启动它的最佳方法是什么。

我可以 destroy() 流,然后创建一个新流。但是无论如何我可以在不断开连接的情况下更改轨道关键字吗?

最佳答案

我比较菜鸟,所以可能这种方式不是很好,很浪费资源,但是我还是不知道怎么检查,所以我就放在这里,希望有高手告诉我们是否可以好还是错,最重要的是,为什么?

方法是将 tw.stream 调用放在一个函数中,然后使用您要跟踪的单词数组调用该函数。它将开始跟踪新词,并停止跟踪删除的词:

// Array to store the tracked words
var TwitWords = [];

// Tracker function
function TrackWords(array){
tw.stream('statuses/filter',{track:array},function(stream){
stream.on('data',function(data){
console.log(data.text);
});
});
}

// Add word
function AddTwitWord(word){
if(TwitWords.indexOf(word)==-1){
TwitWords.push(word);
TrackWords(TwitWords);
}
}

// Remove word
function RemoveTwitWord(word){
if(TwitWords.indexOf(word)!=-1){
TwitWords.splice(TwitWords.indexOf(word),1);
TrackWords(TwitWords);
}
}

我希望它没问题,因为这是我找到的唯一方法。

关于node.js - 使用不同的轨道关键字重新启动nodejs ntwitter twitter流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9542941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com