节点回复鸣叫并没有真正回复
问题描述:
我使用的节点库回复流中的鸣叫,当它正常工作时,鸣叫的回复不会在时间轴上显示为回复,而会显示为一个独立的推文,与之前的会话没有关联。节点回复鸣叫并没有真正回复
这里是我的代码:
function tweetEvent(eventMsg) {
var replyto = eventMsg.in_reply_to_screen_name;
var text = eventMsg.text;
var from = eventMsg.user.screen_name;
console.log(replyto + ' ' + from);
if((text.indexOf('myhandle') >= 0) || (from != 'myhandle')) {
var reply = replies[Math.floor(Math.random() * replies.length)];
var newtweet = '@' + from + ' ' + reply;
tweetIt(newtweet);
}
}
function tweetIt(txt) {
var tweet = {
status: txt
}
T.post('statuses/update', tweet, tweeted);
function tweeted(err, data, response) {
if (err) {
console.log("Something went wrong!");
} else {
console.log("It worked!");
}
}
}
答
为了回复到使用Twitter的API的时间表显示,你需要以下条件:
// the status update or tweet ID in which we will reply
var nameID = eventMsg.id_str;
此外,还需要在参数in_reply_to_status_id
您的tweet status
。看到更新下面的代码,它现在应该保持对话:
function tweetEvent(eventMsg) {
var replyto = eventMsg.in_reply_to_screen_name;
var text = eventMsg.text;
var from = eventMsg.user.screen_name;
// the status update or tweet ID in which we will reply
var nameID = eventMsg.id_str;
console.log(replyto + ' ' + from);
if((text.indexOf('myhandle') >= 0) || (from != 'myhandle')) {
var reply = replies[Math.floor(Math.random() * replies.length)];
var newtweet = '@' + from + ' ' + reply;
tweetIt(newtweet);
}
function tweetIt(txt) {
var tweet = {
status: txt,
in_reply_to_status_id: nameID
}
}
T.post('statuses/update', tweet, tweeted);
function tweeted(err, data, response) {
if (err) {
console.log("Something went wrong!");
} else {
console.log("It worked!");
}
}
}
谢谢你这一点,遗憾的是未能奏效,因为定义的变量是使用它的功能外。我不知道该把它放在哪里 – babusi
我把'tweetIt'函数移到了'tweetEvent',它工作。谢谢 – babusi
哎呀!我当时很急。我将编辑以反映变化。很高兴它工作! – filmplane