From fd97d7a20f8b8b73cd549e56a0242ef7cc857b84 Mon Sep 17 00:00:00 2001 From: Hax Date: Thu, 31 Oct 2019 17:17:58 +0100 Subject: [PATCH] Edited Help Command --- .../hadder/commands/general/HelpCommand.java | 30 ++++++++++++++++--- .../hadder/commands/owner/TestCommand.java | 2 +- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java b/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java index e1bc72d..c5325f4 100644 --- a/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java +++ b/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java @@ -1,9 +1,11 @@ package com.bbn.hadder.commands.general; +import com.bbn.hadder.Rethink; import com.bbn.hadder.commands.Command; import com.bbn.hadder.core.CommandHandler; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import java.util.ArrayList; @@ -13,7 +15,7 @@ import java.util.Map; public class HelpCommand implements Command { @Override public void executed(String[] args, MessageReceivedEvent event) { - if (args.length==0) { + if (args.length == 0) { HashMap> hashMap = new HashMap<>(); for (Command cmd : CommandHandler.cmdlist) { if (!hashMap.containsKey(cmd.getClass().getPackageName())) { @@ -26,19 +28,34 @@ public class HelpCommand implements Command { } EmbedBuilder eb = new EmbedBuilder(); for (Map.Entry> entry : hashMap.entrySet()) { - if (!entry.getKey().endsWith("owner")||(entry.getKey().endsWith("owner")&&(event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")))) { + if (!entry.getKey().endsWith("owner") || (entry.getKey().endsWith("owner") && (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")))) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < entry.getValue().size(); i++) { Command cmd = entry.getValue().get(i); sb.append("`" + cmd.labels()[0] + "`"); if (i < entry.getValue().size() - 1) sb.append(", "); } - String[] packagesplit = entry.getKey().split("."); + String[] packagesplit = entry.getKey().split("\\."); eb.addField(packagesplit[packagesplit.length - 1], sb.toString(), false); } } new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, eb); - + event.getChannel().sendMessage(eb.build()).queue(); + } else { + for (Command cmd : CommandHandler.cmdlist) { + for (String label : cmd.labels()) { + if (label.toLowerCase().equals(args[0])) { + if (!cmd.getClass().getPackageName().endsWith("owner") || (cmd.getClass().getPackageName().endsWith("owner") && (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")))) { + EmbedBuilder eb = new EmbedBuilder(); + String name = cmd.labels()[0]; + eb.setDescription(cmd.description()).setTitle(name.replaceFirst(String.valueOf(name.charAt(0)), String.valueOf(name.charAt(0)).toUpperCase())); + eb.addField("Usage", Rethink.get("user", "id", event.getAuthor().getId(), "prefix") + cmd.usage(), false); + new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, eb); + event.getChannel().sendMessage(eb.build()).queue(); + } + } + } + } } } @@ -51,4 +68,9 @@ public class HelpCommand implements Command { public String description() { return "Shows every Command or explains a Command"; } + + @Override + public String usage() { + return "help [Commandname]"; + } } diff --git a/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java b/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java index 306763c..a42b185 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java @@ -1,4 +1,4 @@ -package com.bbn.hadder.commands.general; +package com.bbn.hadder.commands.owner; /* * @author Skidder / GregTCLTK