Ignore conversation summaries which don't involve BMJ

This commit is contained in:
barelyprofessional
2025-09-16 21:28:54 -05:00
parent 15de60e60b
commit 588a0e95fa
3 changed files with 24 additions and 1 deletions

View File

@@ -741,7 +741,16 @@ public class BotServices
private void DiscordOnConversationSummaryUpdate(object sender, DiscordConversationSummaryUpdateModel summary, string guildId)
{
_logger.Info($"Received a conversation summary update for guild {guildId}");
var discordIcon = SettingsProvider.GetValueAsync(BuiltIn.Keys.DiscordIcon).Result;
var settings = SettingsProvider.GetMultipleValuesAsync([
BuiltIn.Keys.DiscordIcon, BuiltIn.Keys.DiscordBmjId, BuiltIn.Keys.DiscordOnlySendSummariesIncludingBmj
]).Result;
var discordIcon = settings[BuiltIn.Keys.DiscordIcon];
if (settings[BuiltIn.Keys.DiscordOnlySendSummariesIncludingBmj].ToBoolean() &&
!summary.People.Contains(settings[BuiltIn.Keys.DiscordBmjId].Value ?? string.Empty))
{
_logger.Info($"Ignoring as BMJ's Discord ID '{settings[BuiltIn.Keys.DiscordBmjId].Value}' wasn't among the people listed for this conversation summary: {string.Join(", ", summary.People)}");
return;
}
_chatBot.SendChatMessage($"[img]{discordIcon.Value}[/img] {summary.Topic}: {summary.SummaryShort} 🤖🤖", true);
}

View File

@@ -316,6 +316,11 @@ public class DiscordConversationSummaryUpdateModel
public required string Topic { get; set; }
[JsonPropertyName("summ_short")]
public required string SummaryShort { get; set; }
/// <summary>
/// List of Discord IDs for people whose messages were used to generate the summary
/// </summary>
[JsonPropertyName("people")]
public required List<string> People { get; set; }
}
// https://discord.com/developers/docs/resources/channel#channel-object-channel-types