diff --git a/README.md b/README.md
index 4f62557..cd779c4 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,3 @@
# Hadder
[](https://travis-ci.com/BigBotNetwork/Hadder)
-
diff --git a/pom.xml b/pom.xml
index 7afe0e1..23bcffe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
Hadder
Hadder
- 0.7.1-ALPHA
+ 0.7-ALPHA
Hadder
@@ -25,7 +25,7 @@
net.dv8tion
JDA
- 4.0.0_61
+ 4.0.0_56
org.json
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 bcc800d..62595db 100644
--- a/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java
@@ -4,6 +4,7 @@ import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder;
+import net.dv8tion.jda.api.Permission;
import java.util.ArrayList;
import java.util.HashMap;
@@ -13,47 +14,51 @@ public class HelpCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
- if (args.length == 0) {
- HashMap> hashMap = new HashMap<>();
- for (Command cmd : event.getCommandHandler().getCommandList()) {
- if (!hashMap.containsKey(cmd.getClass().getPackageName())) {
- ArrayList cmdlist = new ArrayList<>();
- cmdlist.add(cmd);
- hashMap.put(cmd.getClass().getPackageName(), cmdlist);
- } else {
- hashMap.get(cmd.getClass().getPackageName()).add(cmd);
- }
- }
- 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")))) {
- 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(", ");
+ if (event.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_EMBED_LINKS)) {
+ if (args.length == 0) {
+ HashMap> hashMap = new HashMap<>();
+ for (Command cmd : event.getCommandHandler().getCommandList()) {
+ if (!hashMap.containsKey(cmd.getClass().getPackageName())) {
+ ArrayList cmdlist = new ArrayList<>();
+ cmdlist.add(cmd);
+ hashMap.put(cmd.getClass().getPackageName(), cmdlist);
+ } else {
+ hashMap.get(cmd.getClass().getPackageName()).add(cmd);
}
- 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 : event.getCommandHandler().getCommandList()) {
- 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", event.getRethink().getUserPrefix(event.getAuthor().getId()) + cmd.labels()[0] + " " + cmd.usage(), false);
- new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, eb);
- event.getChannel().sendMessage(eb.build()).queue();
+ 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")))) {
+ 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("\\.");
+ 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 : event.getCommandHandler().getCommandList()) {
+ 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", event.getRethink().getUserPrefix(event.getAuthor().getId()) + cmd.labels()[0] + " " + cmd.usage(), false);
+ new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, eb);
+ event.getChannel().sendMessage(eb.build()).queue();
+ }
}
}
}
}
+ } else {
+ event.getTextChannel().sendMessage("I need the Embed Links Permission to send the Help Menu!").queue();
}
}