微博API 回复不真回复

Twit API reply does not really reply

我目前正在使用 nodejs 和 Twit API Client.

编写一个小型 Twitter Bot

当我回复推文时,我使用以下代码:

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 是经过正确身份验证的客户端,username 是我要回复的推文的用户名,id 是我要回复的推文的 id_str。

但是奇怪的事情发生了。

如果我查看我的通知,我似乎回复了推文,显示它们是捆绑在一起的。

但是如果我在我的时间线上点击推文,则不会显示回复。

不幸的是,我不能post图片,由于缺少声誉,我希望你能理解我的问题。 :)

尝试 user.screen_name 而不是用户名。

我最近 运行 遇到了同样的问题,解决方案简单但愚蠢。如果您回复一条推文或只是在您的推文中使用@username 作为推文中的第一件事提及某人,它将充当某种形式的 PM。如果你只是 将 @username 移到消息的中间或其他什么地方,它将显示 ,前提是你还发送了 in_reply_to_status_id.

我不确定 khuderm 提出了什么,但我认为你遇到的问题就是这个 GitHub issue 中提到的问题。虽然有点不合逻辑,但您实际上应该使用 in_reply_to_status_id: id_str 而不是 in_reply_to_status_id: id.

前者只是字符串形式的相同 id(用双引号括起来)并且在没有引号的情况下传递它会导致您描述的问题。