From 8ec4e6cbb04f75c615c66548345f1b0b83df4d57 Mon Sep 17 00:00:00 2001 From: Toastie Date: Sun, 22 Sep 2024 14:18:41 +1200 Subject: [PATCH] Fixed .greettest byetest greetdmtest and boosttest command if you didn't have them enabled. Also fixed greetdmtest sending messages twice. --- .../Administration/GreetBye/GreetCommands.cs | 35 ++++++++++++++----- .../Administration/GreetBye/GreetService.cs | 13 +++++-- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/src/EllieBot/Modules/Administration/GreetBye/GreetCommands.cs b/src/EllieBot/Modules/Administration/GreetBye/GreetCommands.cs index c7ee52a..a0b4d59 100644 --- a/src/EllieBot/Modules/Administration/GreetBye/GreetCommands.cs +++ b/src/EllieBot/Modules/Administration/GreetBye/GreetCommands.cs @@ -200,27 +200,44 @@ public partial class Administration if (!isEnabled) { - var cmdName = type switch - { - GreetType.Greet => "greet", - GreetType.Bye => "bye", - GreetType.Boost => "boost", - GreetType.GreetDm => "greetdm", - _ => "unknown_command" - }; + var cmdName = GetCmdName(type); await Response().Pending(strs.boostmsg_enable($"`{prefix}{cmdName}`")).SendAsync(); } } + private static string GetCmdName(GreetType type) + { + var cmdName = type switch + { + GreetType.Greet => "greet", + GreetType.Bye => "bye", + GreetType.Boost => "boost", + GreetType.GreetDm => "greetdm", + _ => "unknown_command" + }; + return cmdName; + } + public async Task Test(GreetType type, IGuildUser? user = null) { user ??= (IGuildUser)ctx.User; await _service.Test(ctx.Guild.Id, type, (ITextChannel)ctx.Channel, user); var conf = await _service.GetGreetSettingsAsync(ctx.Guild.Id, type); + + var cmd = $"`{prefix}{GetCmdName(type)}`"; + + var str = type switch + { + GreetType.Greet => strs.boostmsg_enable(cmd), + GreetType.Bye => strs.greetmsg_enable(cmd), + GreetType.Boost => strs.byemsg_enable(cmd), + GreetType.GreetDm => strs.greetdmmsg_enable(cmd), + _ => strs.error + }; if (conf?.IsEnabled is not true) - await Response().Pending(strs.boostmsg_enable($"`{prefix}boost`")).SendAsync(); + await Response().Pending(str).SendAsync(); } } } \ No newline at end of file diff --git a/src/EllieBot/Modules/Administration/GreetBye/GreetService.cs b/src/EllieBot/Modules/Administration/GreetBye/GreetService.cs index f733636..3d96ce1 100644 --- a/src/EllieBot/Modules/Administration/GreetBye/GreetService.cs +++ b/src/EllieBot/Modules/Administration/GreetBye/GreetService.cs @@ -457,7 +457,17 @@ public class GreetService : IEService, IReadyExecutor { var conf = await GetGreetSettingsAsync(guildId, type); if (conf is null) - return false; + { + conf = new GreetSettings() + { + ChannelId = channel.Id, + GreetType = type, + IsEnabled = false, + GuildId = guildId, + AutoDeleteTimer = 30, + MessageText = GetDefaultGreet(type) + }; + } await SendMessage(conf, channel, user); return true; @@ -467,7 +477,6 @@ public class GreetService : IEService, IReadyExecutor { if (conf.GreetType == GreetType.GreetDm) { - await _greetQueue.Writer.WriteAsync((conf, user, channel as ITextChannel)); return await GreetDmUser(conf, user); }