我目前正在使用nodejs和Twit API Client编写一个小型Twitter机器人。
当我回复推文时,我使用以下代码:
T.post('statuses/update', { status: '@' + username + " " + id, in_reply_to_status_id: id}, function(err, data, response) {
if(err){
console.log("Error");
console.log(err);
}
console.log(response);
})
如果T是经过正确验证的客户端,则用户名是我想要回复的推文用户的用户名,而id是我要回复的推文的id_str。
但是发生了一些奇怪的事情。
如果我检查我的通知,看起来我回复了推文,显示它们绑在一起。
但如果我点击时间轴上的推文,则不会显示回复。
不幸的是,由于缺少声誉,我无法发布图片,希望您能理解我的问题。 :)
答案 0 :(得分:0)
尝试使用user.screen_name而不是用户名。
答案 1 :(得分:0)
我不确定khuderm提出了什么,但我认为你遇到的问题是GitHub issue中提到的问题。虽然有点不合逻辑,但实际上应该使用in_reply_to_status_id: id_str
代替in_reply_to_status_id: id
。
前者只是字符串形式的同一个id(用双引号括起来)并且没有引号传递它会导致你描述的问题。
答案 2 :(得分:-1)
我最近遇到了同样的问题,解决方案很简单但很愚蠢。如果您回复推文或只是在推文中提及@username作为推文中的第一件事,那么它将作为各种类型的PM。如果您只是将@username移动到邮件的中间位置,它会显示,因为您还发送了in_reply_to_status_id。