mirror of
https://github.com/barelyprofessional/KfChatDotNet.git
synced 2026-05-02 04:22:04 -04:00
Ignore conversation summaries which don't involve BMJ
This commit is contained in:
@@ -741,7 +741,16 @@ public class BotServices
|
|||||||
private void DiscordOnConversationSummaryUpdate(object sender, DiscordConversationSummaryUpdateModel summary, string guildId)
|
private void DiscordOnConversationSummaryUpdate(object sender, DiscordConversationSummaryUpdateModel summary, string guildId)
|
||||||
{
|
{
|
||||||
_logger.Info($"Received a conversation summary update for guild {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);
|
_chatBot.SendChatMessage($"[img]{discordIcon.Value}[/img] {summary.Topic}: {summary.SummaryShort} 🤖🤖", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -316,6 +316,11 @@ public class DiscordConversationSummaryUpdateModel
|
|||||||
public required string Topic { get; set; }
|
public required string Topic { get; set; }
|
||||||
[JsonPropertyName("summ_short")]
|
[JsonPropertyName("summ_short")]
|
||||||
public required string SummaryShort { get; set; }
|
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
|
// https://discord.com/developers/docs/resources/channel#channel-object-channel-types
|
||||||
|
|||||||
@@ -1068,6 +1068,14 @@ public static class BuiltIn
|
|||||||
Description = "Working directory for BMJ's Twitch streams captured with streamlink",
|
Description = "Working directory for BMJ's Twitch streams captured with streamlink",
|
||||||
Default = "/root/twitch/",
|
Default = "/root/twitch/",
|
||||||
ValueType = SettingValueType.Text
|
ValueType = SettingValueType.Text
|
||||||
|
},
|
||||||
|
new BuiltInSettingsModel
|
||||||
|
{
|
||||||
|
Key = Keys.DiscordOnlySendSummariesIncludingBmj,
|
||||||
|
Description = "Only send Discord conversation summaries to the chat where BMJ's Discord ID is listed as participating",
|
||||||
|
Default = "true",
|
||||||
|
ValueType = SettingValueType.Boolean,
|
||||||
|
Regex = BooleanRegex
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -1191,5 +1199,6 @@ public static class BuiltIn
|
|||||||
public static string BotRateLimitCooldownAutoDeleteDelay = "Bot.RateLimit.CooldownAutoDeleteDelay";
|
public static string BotRateLimitCooldownAutoDeleteDelay = "Bot.RateLimit.CooldownAutoDeleteDelay";
|
||||||
public static string BotRateLimitExpiredEntryCleanupInterval = "Bot.RateLimit.ExpiredEntryCleanupInterval";
|
public static string BotRateLimitExpiredEntryCleanupInterval = "Bot.RateLimit.ExpiredEntryCleanupInterval";
|
||||||
public static string CaptureStreamlinkBmjWorkingDirectory = "Bot.Streamlink.BmjWorkingDirectory";
|
public static string CaptureStreamlinkBmjWorkingDirectory = "Bot.Streamlink.BmjWorkingDirectory";
|
||||||
|
public static string DiscordOnlySendSummariesIncludingBmj = "Discord.OnlySendSummariesIncludingBmj";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user