diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java index 05ca3533a..192f70a88 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/DiscordSettings.java @@ -198,7 +198,10 @@ public class DiscordSettings implements IConf { } public List getCommandSnowflakes(String command) { - return config.getList("commands." + command + ".allowed-roles", String.class); + if (config.isList("commands." + command + ".allowed-roles")) { + return config.getList("commands." + command + ".allowed-roles", String.class); + } + return null; } public List getCommandAdminSnowflakes(String command) { diff --git a/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/InteractionControllerImpl.java b/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/InteractionControllerImpl.java index 2101544d8..28bb8c960 100644 --- a/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/InteractionControllerImpl.java +++ b/EssentialsDiscord/src/main/java/net/essentialsx/discord/interactions/InteractionControllerImpl.java @@ -56,7 +56,8 @@ public class InteractionControllerImpl extends ListenerAdapter implements Intera event.deferReply(command.isEphemeral()).queue(null, failure -> logger.log(Level.SEVERE, "Error while deferring Discord command", failure)); final InteractionEvent interactionEvent = new InteractionEventImpl(event); - if (!DiscordUtil.hasRoles(event.getMember(), jda.getSettings().getCommandSnowflakes(command.getName()))) { + final List commandSnowflakes = jda.getSettings().getCommandSnowflakes(command.getName()); + if (commandSnowflakes != null && !DiscordUtil.hasRoles(event.getMember(), commandSnowflakes)) { interactionEvent.reply(tl("noAccessCommand")); return; }