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);