From bf817a14362b9ecbf6305e2007574843f31ed4cc Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2022 23:29:48 +0200 Subject: [PATCH] Medusa modules (sneks) should now inherit medusa description when listed in .mdls command --- src/NadekoBot/Modules/Help/Help.cs | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index e3585e731..49bd46c7d 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -88,11 +88,11 @@ public partial class Help : NadekoModule embed = embed.WithOkColor().WithDescription(GetText(strs.module_page_empty)); return embed; } - + localModules.OrderBy(module => module.Name) .ToList() .ForEach(module => embed.AddField($"{GetModuleEmoji(module.Name)} {module.Name}", - GetText(GetModuleLocStr(module.Name)) + GetModuleDescription(module.Name) + "\n" + Format.Code(GetText(strs.module_footer(prefix, module.Name.ToLowerInvariant()))), true)); @@ -104,6 +104,25 @@ public partial class Help : NadekoModule false); } + private string GetModuleDescription(string moduleName) + { + var key = GetModuleLocStr(moduleName); + + if (key.Key == strs.module_description_missing.Key) + { + var desc = _medusae + .GetLoadedMedusae(Culture) + .FirstOrDefault(m => m.Sneks + .Any(x => x.Name.Equals(moduleName, StringComparison.InvariantCultureIgnoreCase))) + ?.Description; + + if (desc is not null) + return desc; + } + + return GetText(key); + } + private LocStr GetModuleLocStr(string moduleName) { switch (moduleName.ToLowerInvariant())