public async Task CallReplyAsync(VtuberEntity vtuber, TweetInfo tweet) { using (var client = HttpClientExtensions.CreateClient()) { var body = new TwitterCallbackBody() { VtuberName = vtuber.OriginalName, Content = tweet.Content, IsReply = tweet.IsReply, PublishTime = tweet.CreateTime.ToTimestamp(), ReplyScreenName = tweet.ReplyScreenname, RetweetedUsername = tweet.RetweetedTweet?.User?.Name, Sign = Sign }; await client.PostJsonAsync(Url + "tweet/reply", body); } }
public void CallReplyTweet(TwitterCallbackBody body) { InsertEventLog($"[{DateTimeExtensions.TimestampToDateTime(body.PublishTime):yyyy-MM-dd HH:mm:ss}] Vtuber [{body.VtuberName}] 回复了 {body.ReplyScreenName} 的推特: {body.Content}"); foreach (var vtuberBot in Bots) { var groups = vtuberBot.GetGroupsAsync().GetAwaiter().GetResult(); if (groups == null) { continue; } foreach (var groupInfo in groups) { var config = Config.DefaultConfig.GroupConfigs.FirstOrDefault(v => v.GroupId == groupInfo.GroupId) ?.PublishConfigs.FirstOrDefault(v => v.VtuberName == body.VtuberName); if (config == null || !config.ReplyTweet) { continue; } vtuberBot.GetSendingService().SendGroupMessageAsync(groupInfo.GroupId, $"{body.VtuberName} 在 {DateTimeExtensions.TimestampToDateTime(body.PublishTime):yyyy-MM-dd HH:mm:ss} 回复了 {body.ReplyScreenName} 的推特:\r\n{body.Content}") .GetAwaiter().GetResult(); } } }