private static async Task <bool> RaiderSentFeedbackAfterLastBotMessage(ITextChannel channel) { var messages = await channel.GetMessagesAsync(100).FlattenAsync(); long latestBotMessageTime = GetLatestBotMessageTime(messages); return(messages.Any(x => x.Author.Id == channel.GetFeedbackUserId() && x.CreatedAt.ToUnixTimeSeconds() >= latestBotMessageTime)); }
private static async Task RemindRaiderIfNoFeedbackSubmitted(ITextChannel channel) { bool messagesFromChannelTarget = await RaiderSentFeedbackAfterLastBotMessage(channel); if (!messagesFromChannelTarget) { await channel.SendMessageAsync($"{MentionUtils.MentionUser(channel.GetFeedbackUserId())} Please provide your weekly feedback."); } }