diff --git a/jda/src/main/java/co/aikar/commands/CommandConfig.java b/jda/src/main/java/co/aikar/commands/CommandConfig.java index c47376d2..96261f26 100644 --- a/jda/src/main/java/co/aikar/commands/CommandConfig.java +++ b/jda/src/main/java/co/aikar/commands/CommandConfig.java @@ -3,8 +3,10 @@ package co.aikar.commands; import net.dv8tion.jda.core.events.message.MessageReceivedEvent; import org.jetbrains.annotations.NotNull; +import java.util.List; + public interface CommandConfig extends CommandConfigProvider { - @NotNull String getStartsWith(); + @NotNull List getCommandPrefixes(); @Override default CommandConfig provide(MessageReceivedEvent event) { diff --git a/jda/src/main/java/co/aikar/commands/JDACommandConfig.java b/jda/src/main/java/co/aikar/commands/JDACommandConfig.java index 39101d5c..87fc9051 100644 --- a/jda/src/main/java/co/aikar/commands/JDACommandConfig.java +++ b/jda/src/main/java/co/aikar/commands/JDACommandConfig.java @@ -2,19 +2,18 @@ package co.aikar.commands; import org.jetbrains.annotations.NotNull; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; + public class JDACommandConfig implements CommandConfig { - protected @NotNull String startsWith = "!"; + protected @NotNull List commandPrefixes = new CopyOnWriteArrayList<>(new String[] {"!"}); public JDACommandConfig() { } @NotNull - public String getStartsWith() { - return startsWith; - } - - public void setStartsWith(@NotNull String startsWith) { - this.startsWith = startsWith; + public List getCommandPrefixes() { + return commandPrefixes; } } diff --git a/jda/src/main/java/co/aikar/commands/JDACommandManager.java b/jda/src/main/java/co/aikar/commands/JDACommandManager.java index 6858d885..527e3e1b 100644 --- a/jda/src/main/java/co/aikar/commands/JDACommandManager.java +++ b/jda/src/main/java/co/aikar/commands/JDACommandManager.java @@ -226,7 +226,14 @@ public class JDACommandManager extends CommandManager< } } - if (!msg.startsWith(config.getStartsWith())) { + boolean foundPrefix = false; + for (String prefix : config.getCommandPrefixes()) { + if (msg.startsWith(prefix)) { + foundPrefix = true; + break; + } + } + if (!foundPrefix) { return; }