gpt4 book ai didi

javascript - 我想在 Node.js : But I have no clue? 上使用 Twit 回复 'target' 推文

转载 作者:太空宇宙 更新时间:2023-11-04 02:10:26 25 4
gpt4 key购买 nike

目前推文机器人是;

<小时/>
var fs = require('fs'),
path = require('path'),
Twit = require('twit'),
config = require(path.join(__dirname, 'config.js'));
var T = new Twit(config);

function pick_random_countermagic(){
var countermagic = [
'Force-of-Will.jpg',
'Cryptic-Commad.jpg',
'Counterspell.jpg',
];
return countermagic[Math.floor(Math.random() * countermagic.length)];
}

function upload_random_image(){
console.log('Opening an image...');
var image_path = path.join(__dirname, '/countermagic/' + pick_random_countermagic()),
b64content = fs.readFileSync(image_path, { encoding: 'base64' });

console.log('Uploading an image...');

T.post('media/upload', { media_data: b64content }, function (err, data, response) {
if (err){
console.log('ERROR');
console.log(err);
}
else{
console.log('Uploaded an image!');

T.post('statuses/update', {
media_ids: new Array(data.media_id_string)
},
function(err, data, response) {
if (err){
console.log('Error!');
console.log(err);
}
else{
console.log('Posted an image!');
}
}
);
}
});
}

setInterval(
upload_random_image,
10000
);
<小时/>

它目前所做的一切都是随机发布图像,这就是我想要的,但我不只是发布它,我希望它在该机器人发推文时发布回复来自另一个 Twitter 的目标推文,或者当该机器人活跃地回复该机器人已发布但我的机器人尚未回复的所有推文时......如果你明白我的意思。

这是我第一次制作 Twitter 机器人,从技术上讲,我也是第一次真正使用 javascript 和 node.js。所以是的,我只是迷路了。所以是的,任何帮助都会有不可克服的帮助。

最佳答案

您可以使用 statuses/mentions_timeline API 检索提及内容并使用 statuses/update API 回复他们通过在 in_reply_to_status_id 中传递提及的 id。这是一个简单的例子:

function replyMentions() {
// check for mentions
// you can add parameter 'since_id' to limit returns
T.get('statuses/mentions_timeline', { count: 100 }, function(err, data, response) {
if (data) {
data.forEach(function(mention) {
// reply if mention.id_str is not yet replied
reply = '@' + mention.user.screen_name + ' thanks for reaching out!'
T.post('statuses/update', { status: reply, in_reply_to_status_id: mention.id_str }, function(err, data, response) {
console.log(data)
// mark data.id_str as replied
})
})
}
})
}

您可以添加一些额外的逻辑来将回复的 id_str 存储在数据库中,并使用它们来避免冗余回复并限制提及检索(使用 since_id 参数)。

关于javascript - 我想在 Node.js : But I have no clue? 上使用 Twit 回复 'target' 推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42506283/

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