如何找到twitter对话的开始

本文关键字:开始 对话 twitter 何找 | 更新日期: 2023-09-27 18:21:27

我正在编写一个简单的程序,该程序将定期检查是否有人在推特上发布了我的帐户,并发布回复。

一旦它回复了,我不希望它再次回复(否则它将永远回复),所以每条推文必须回复一条(如果对话继续,那么它将一直添加一条推文到最后)。

我希望它是无国籍的。

因此,我想获取所有的推特对话,看看他们是否已经收到了我的程序的回复。如果没有,请回复。

如果你浏览推特,你可以将对推特的所有回复视为"对话"。所以我想把所有的对话都挂在墙上,看看每次对话中的最新推文是否是我发的。如果不是,我想添加一个回复。

我的问题是,我无法进行"对话",因为我找不到推文是如何正确链接在一起的。

我打算通过获取所有提到我的推文来构建一个地图,然后计算出"根"推文(对话的开始),并阅读每个对话,看看最后的回复是否是我的。

然而,我无法计算出什么是根tweet,因为有时甚至根tweet也会填充InReplyToUserId属性。所以我不知道哪些是根推文。

有什么想法吗?到目前为止,这是我的代码:

var allMentions = Timeline.GetMentionsTimeline();
    // Get all root tweets
    foreach (var tweet in allMentions.Where(c => !c.InReplyToUserId.HasValue))
    {
        var replies = Search.SearchDirectRepliesTo(tweet);
        var latestTweet = replies.OrderByDescending(c => c.TweetLocalCreationDate).FirstOrDefault();
        if (latestTweet.CreatedBy.Id != _myTwitterId)
        {
            string reply = GetReply();
            foreach (var mention in latestTweet.UserMentions)
            {
                if (mention.Id != _myTwitterId)
                {
                    reply = $"@{mention.ScreenName} {reply}";
                }
            }
            if (reply.Length > 140)
            {
                reply.Substring(0, 140);
            }
            Tweet.PublishTweetInReplyTo(reply, latestTweet);
        }
    }

如何找到twitter对话的开始

使用in_reply_to_status_id字段。这会让你找到对话的根推特。