我正在设计一个针对discord的twitter集成,但是在调用搜索最近的tweets时遇到了速率限制问题。我正在研究流媒体,但是不知道如何流媒体多个用户(通过命令添加)。我目前使用的代码对一个用户来说效果很好,但是考虑到规则对每个流媒体都是持久的,我看不到一种方法来轻松地运行单独的示例:
const { ETwitterStreamEvent, TweetStream, TwitterApi, ETwitterApiError } = require('twitter-api-v2');
const client = new TwitterApi(process.env["BEARER_TOKEN"]);
async function startStream(userName){
const stream = await client.v2.searchStream();
await client.v2.updateStreamRules({
add: [
{ value: `from:${userName}`, tag: userName },
],
});
stream.on(
ETwitterStreamEvent.ConnectionError,
err => console.log('Connection error!', err),
);
stream.on(
ETwitterStreamEvent.ConnectionClosed,
() => console.log('Connection has been closed.'),
);
stream.on(
ETwitterStreamEvent.Data,
eventData => console.log(eventData),
);
stream.autoReconnect = true;
}
是否有办法同时为不同用户运行多个流?
2条答案
按热度按时间bt1cpqcv1#
下面是一个小例子,在我这边是功能性的。在一个“TwitterClient.js”文件中:
当启动机器人时,例如在index.js或ready.js中:
nnt7mjpx2#
添加:[ {值:
from:${userName}
,标签:用户名},{值:from:${userName2}
,标签:用户名2} ]});