gpt4 book ai didi

javascript - 使用 nTwitter 回复带有 node.js 的推文

转载 作者:搜寻专家 更新时间:2023-10-31 23:48:43 24 4
gpt4 key购买 nike

我使用 node.jsnTwitter 创建了一个非常简单的 Twitter 机器人。

它搜索“特定词”并用随机引用回复用户。我设法做对了一切。代码完美地运行和流式传输。

但是有一个很大的缺点。当机器人回复推文时,在 Twitter 上它不会将其显示为对话。

它所做的只是向发推文“特定词”的人发推文。如下图所示,虽然它回复了用户,但这不是对话,用户也没有删除他的推文。

这是我正在谈论的图片:

enter image description here

这是我的代码。 token 由 auth.js 处理

var ntwitter = require('ntwitter');
var auth = require('../auth');

var bot = new ntwitter(auth);


var callback = function handleError(error) {
if (error) {
console.error('response status:', error.statusCode);
console.error('data:', error.data);
}
};

function startStreaming() {

bot.stream('statuses/filter', { track: 'certain word' }, function(stream) {

console.log('Listening for Tweets...');

stream.on('data', function(tweet) {

if (tweet.text.match(/certain\sword/)) {

bot.updateStatus('@' + tweet.user.screen_name + ' True that' ,
tweet.user.screen_name , callback);

}
});

});
}


startStreaming();

我想问题出在 bot.updateStatus() 上。

请帮帮我。提前致谢。

最佳答案

您必须在请求中添加参数 in_reply_to_status_id(这是您回复的用户推文的状态 ID。引用:POST statuses/update

这是一个例子。

function startStreaming() {
bot.stream('statuses/filter', { track: 'certain word' }, function(stream) {
console.log('Listening for Tweets...');
stream.on('data', function(tweet) {
if (tweet.text.match('certain word')) {
bot.updateStatus('@' + tweet.user.screen_name + ' True that' ,
{in_reply_to_status_id: tweet.id_str}, callback);
}
});
});
}

startStreaming();

关于javascript - 使用 nTwitter 回复带有 node.js 的推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22659857/

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