From 2c3e5fe50770536f70753cebeae6d3ca7f941d74 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sat, 21 Sep 2024 19:05:59 +0000 Subject: [PATCH] fix: Fixed .greettest byetest greetdmtest and boosttest command if you didn't have them enabled. Also fixed greetdmtest sending messages twice. --- .../Administration/GreetBye/GreetCommands.cs | 36 ++++++++++++++----- .../Administration/GreetBye/GreetService.cs | 13 +++++-- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/GreetBye/GreetCommands.cs b/src/NadekoBot/Modules/Administration/GreetBye/GreetCommands.cs index bfee463f2..840591d33 100644 --- a/src/NadekoBot/Modules/Administration/GreetBye/GreetCommands.cs +++ b/src/NadekoBot/Modules/Administration/GreetBye/GreetCommands.cs @@ -200,27 +200,45 @@ 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/NadekoBot/Modules/Administration/GreetBye/GreetService.cs b/src/NadekoBot/Modules/Administration/GreetBye/GreetService.cs index 7a1685a53..ad62f0de0 100644 --- a/src/NadekoBot/Modules/Administration/GreetBye/GreetService.cs +++ b/src/NadekoBot/Modules/Administration/GreetBye/GreetService.cs @@ -457,7 +457,17 @@ public class GreetService : INService, 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 : INService, IReadyExecutor { if (conf.GreetType == GreetType.GreetDm) { - await _greetQueue.Writer.WriteAsync((conf, user, channel as ITextChannel)); return await GreetDmUser(conf, user); }