From 6af20fa6c8406753f6f859d8ef9b51b9a56525d1 Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Thu, 21 Apr 2022 17:30:59 +0100 Subject: [PATCH] Change help command so exclusive commands can only be seen for the server they're assigned to --- src/commands/help.ts | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/src/commands/help.ts b/src/commands/help.ts index 876299c..aa056d5 100644 --- a/src/commands/help.ts +++ b/src/commands/help.ts @@ -29,8 +29,9 @@ export default class Help extends Command { } public SendAll(context: ICommandContext) { - const allCommands = CoreClient.commandItems; - const cateogries = [...new Set(allCommands.map(x => x.Command.Category))];; + const allCommands = CoreClient.commandItems + .filter(x => !x.ServerId || x.ServerId == context.message.guild?.id); + const cateogries = [...new Set(allCommands.map(x => x.Command.Category))]; const embed = new PublicEmbed(context, "Commands", ""); @@ -44,19 +45,26 @@ export default class Help extends Command { } public SendSingle(context: ICommandContext) { - const command = CoreClient.commandItems.find(x => x.Name == context.args[0]); + const command = CoreClient.commandItems.find(x => x.Name == context.args[0] && !x.ServerId); + const exclusiveCommand = CoreClient.commandItems.find(x => x.Name == context.args[0] && x.ServerId == context.message.guild?.id); - if (!command) { + if (exclusiveCommand) { + const embed = new PublicEmbed(context, StringTools.Capitalise(exclusiveCommand.Name), ""); + embed.addField("Category", StringTools.Capitalise(exclusiveCommand.Command.Category || "Uncategorised")); + embed.addField("Required Roles", StringTools.Capitalise(exclusiveCommand.Command.Roles.join(", ")) || "Everyone"); + + embed.SendToCurrentChannel(); + } else if (command) { + const embed = new PublicEmbed(context, StringTools.Capitalise(command.Name), ""); + embed.addField("Category", StringTools.Capitalise(command.Command.Category || "Uncategorised")); + embed.addField("Required Roles", StringTools.Capitalise(command.Command.Roles.join(", ")) || "Everyone"); + + embed.SendToCurrentChannel(); + } else { const errorEmbed = new ErrorEmbed(context, "Command does not exist"); errorEmbed.SendToCurrentChannel(); return; } - - const embed = new PublicEmbed(context, StringTools.Capitalise(command.Name), ""); - embed.addField("Category", StringTools.Capitalise(command.Command.Category || "Uncategorised")); - embed.addField("Required Roles", StringTools.Capitalise(command.Command.Roles.join(", ")) || "Everyone"); - - embed.SendToCurrentChannel(); } } -- 2.43.4