mirror of
https://github.com/barelyprofessional/KfChatDotNet.git
synced 2026-05-02 12:32:03 -04:00
Add auto capture support to the new Kick channel command
This commit is contained in:
@@ -78,7 +78,8 @@ public class CacheClearAdminCommand : ICommand
|
|||||||
public class NewKickChannelCommand : ICommand
|
public class NewKickChannelCommand : ICommand
|
||||||
{
|
{
|
||||||
public List<Regex> Patterns => [
|
public List<Regex> Patterns => [
|
||||||
new Regex(@"^admin kick add (?<forum_id>\d+) (?<channel_id>\d+) (?<slug>\S+)$")
|
new Regex(@"^admin kick add (?<forum_id>\d+) (?<channel_id>\d+) (?<slug>\S+)$"),
|
||||||
|
new Regex(@"^admin kick add (?<forum_id>\d+) (?<channel_id>\d+) (?<slug>\S+) (?<auto_capture>true|false)$")
|
||||||
];
|
];
|
||||||
|
|
||||||
public string? HelpText => "Add a Kick channel to the bot's database";
|
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 TimeSpan Timeout => TimeSpan.FromSeconds(10);
|
||||||
public async Task RunCommand(ChatBot botInstance, MessageModel message, UserDbModel user, GroupCollection arguments, CancellationToken ctx)
|
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<List<KickChannelModel>>();
|
var channels = (await SettingsProvider.GetValueAsync(BuiltIn.Keys.KickChannels)).JsonDeserialize<List<KickChannelModel>>();
|
||||||
var channelId = Convert.ToInt32(arguments["channel_id"].Value);
|
var channelId = Convert.ToInt32(arguments["channel_id"].Value);
|
||||||
channels ??= [];
|
channels ??= [];
|
||||||
@@ -100,7 +106,8 @@ public class NewKickChannelCommand : ICommand
|
|||||||
{
|
{
|
||||||
ChannelId = channelId,
|
ChannelId = channelId,
|
||||||
ForumId = forumId,
|
ForumId = forumId,
|
||||||
ChannelSlug = arguments["slug"].Value
|
ChannelSlug = arguments["slug"].Value,
|
||||||
|
AutoCapture = autoCapture
|
||||||
});
|
});
|
||||||
|
|
||||||
await SettingsProvider.SetValueAsJsonObjectAsync(BuiltIn.Keys.KickChannels, channels);
|
await SettingsProvider.SetValueAsJsonObjectAsync(BuiltIn.Keys.KickChannels, channels);
|
||||||
|
|||||||
Reference in New Issue
Block a user