From f508a8ebc04babb985a840dd96eae0177ac0b7d0 Mon Sep 17 00:00:00 2001 From: barelyprofessional <150058423+barelyprofessional@users.noreply.github.com> Date: Thu, 10 Jul 2025 13:23:11 -0500 Subject: [PATCH] Add auto capture support to the new Kick channel command --- KfChatDotNetBot/Commands/AdminCommands.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/KfChatDotNetBot/Commands/AdminCommands.cs b/KfChatDotNetBot/Commands/AdminCommands.cs index e05f588..ae6da55 100644 --- a/KfChatDotNetBot/Commands/AdminCommands.cs +++ b/KfChatDotNetBot/Commands/AdminCommands.cs @@ -78,7 +78,8 @@ public class CacheClearAdminCommand : ICommand public class NewKickChannelCommand : ICommand { public List Patterns => [ - new Regex(@"^admin kick add (?\d+) (?\d+) (?\S+)$") + new Regex(@"^admin kick add (?\d+) (?\d+) (?\S+)$"), + new Regex(@"^admin kick add (?\d+) (?\d+) (?\S+) (?true|false)$") ]; public string? HelpText => "Add a Kick channel to the bot's database"; @@ -86,6 +87,11 @@ public class NewKickChannelCommand : ICommand public TimeSpan Timeout => TimeSpan.FromSeconds(10); public async Task RunCommand(ChatBot botInstance, MessageModel message, UserDbModel user, GroupCollection arguments, CancellationToken ctx) { + var autoCapture = false; + if (arguments.TryGetValue("auto_capture", out var argument)) + { + autoCapture = argument.Value == "true"; + } var channels = (await SettingsProvider.GetValueAsync(BuiltIn.Keys.KickChannels)).JsonDeserialize>(); var channelId = Convert.ToInt32(arguments["channel_id"].Value); channels ??= []; @@ -100,7 +106,8 @@ public class NewKickChannelCommand : ICommand { ChannelId = channelId, ForumId = forumId, - ChannelSlug = arguments["slug"].Value + ChannelSlug = arguments["slug"].Value, + AutoCapture = autoCapture }); await SettingsProvider.SetValueAsJsonObjectAsync(BuiltIn.Keys.KickChannels, channels);