diff --git a/src/main/java/net/Broken/SlashCommand.java b/src/main/java/net/Broken/SlashCommand.java index fedb8be..69bdcda 100644 --- a/src/main/java/net/Broken/SlashCommand.java +++ b/src/main/java/net/Broken/SlashCommand.java @@ -1,6 +1,7 @@ package net.Broken; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; +import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.build.OptionData; import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; @@ -34,7 +35,5 @@ public interface SlashCommand { boolean isPrivateUsable(); - - boolean isDisableByDefault(); - + DefaultMemberPermissions getDefaultPermissions(); } diff --git a/src/main/java/net/Broken/SlashCommands/Cat.java b/src/main/java/net/Broken/SlashCommands/Cat.java index bc2559f..ae2a77f 100644 --- a/src/main/java/net/Broken/SlashCommands/Cat.java +++ b/src/main/java/net/Broken/SlashCommands/Cat.java @@ -17,7 +17,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import net.Broken.SlashCommand; import net.Broken.Tools.EmbedMessageUtils; +import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; +import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.build.OptionData; import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder; @@ -94,7 +96,8 @@ public class Cat implements SlashCommand { } @Override - public boolean isDisableByDefault() { - return false; - } + public DefaultMemberPermissions getDefaultPermissions(){ + return DefaultMemberPermissions.enabledFor(Permission.MESSAGE_SEND); + } + } diff --git a/src/main/java/net/Broken/SlashCommands/Clear.java b/src/main/java/net/Broken/SlashCommands/Clear.java index a27479e..29d4a0d 100644 --- a/src/main/java/net/Broken/SlashCommands/Clear.java +++ b/src/main/java/net/Broken/SlashCommands/Clear.java @@ -9,6 +9,7 @@ import net.Broken.Tools.EmbedMessageUtils; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; +import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.OptionData; import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; @@ -63,7 +64,9 @@ public class Clear implements SlashCommand { } @Override - public boolean isDisableByDefault() { - return true; + public DefaultMemberPermissions getDefaultPermissions() { + return DefaultMemberPermissions.enabledFor(Permission.MESSAGE_MANAGE); } + + } diff --git a/src/main/java/net/Broken/SlashCommands/Music.java b/src/main/java/net/Broken/SlashCommands/Music.java index d28c714..b1288e2 100644 --- a/src/main/java/net/Broken/SlashCommands/Music.java +++ b/src/main/java/net/Broken/SlashCommands/Music.java @@ -13,6 +13,7 @@ import net.Broken.Audio.GuildAudioBotService; import net.Broken.Tools.EmbedMessageUtils; import net.dv8tion.jda.api.entities.channel.unions.AudioChannelUnion; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; +import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.OptionMapping; import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.build.OptionData; @@ -139,7 +140,9 @@ public class Music implements SlashCommand { } @Override - public boolean isDisableByDefault() { - return false; + public DefaultMemberPermissions getDefaultPermissions() { + return DefaultMemberPermissions.ENABLED; } + + } diff --git a/src/main/java/net/Broken/SlashCommands/Over18/Ass.java b/src/main/java/net/Broken/SlashCommands/Over18/Ass.java index af6bd77..5bbcecb 100644 --- a/src/main/java/net/Broken/SlashCommands/Over18/Ass.java +++ b/src/main/java/net/Broken/SlashCommands/Over18/Ass.java @@ -3,6 +3,9 @@ package net.Broken.SlashCommands.Over18; import net.Broken.Tools.Command.Ignore; import net.Broken.Tools.Command.NoDev; import net.Broken.Tools.Command.NumberedSlashCommand; +import net.dv8tion.jda.api.Permission; +import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; + import org.apache.logging.log4j.LogManager; @NoDev @@ -35,7 +38,7 @@ public class Ass extends NumberedSlashCommand { } @Override - public boolean isDisableByDefault() { - return true; + public DefaultMemberPermissions getDefaultPermissions() { + return DefaultMemberPermissions.enabledFor(Permission.MESSAGE_SEND); } } diff --git a/src/main/java/net/Broken/SlashCommands/Over18/Boobs.java b/src/main/java/net/Broken/SlashCommands/Over18/Boobs.java index bc44508..ad161d1 100644 --- a/src/main/java/net/Broken/SlashCommands/Over18/Boobs.java +++ b/src/main/java/net/Broken/SlashCommands/Over18/Boobs.java @@ -3,6 +3,10 @@ package net.Broken.SlashCommands.Over18; import net.Broken.Tools.Command.Ignore; import net.Broken.Tools.Command.NoDev; import net.Broken.Tools.Command.NumberedSlashCommand; +import net.dv8tion.jda.api.Permission; +import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; + + import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -37,7 +41,7 @@ public class Boobs extends NumberedSlashCommand { } @Override - public boolean isDisableByDefault() { - return true; + public DefaultMemberPermissions getDefaultPermissions() { + return DefaultMemberPermissions.enabledFor(Permission.MESSAGE_SEND); } } diff --git a/src/main/java/net/Broken/SlashCommands/Over18/Madame.java b/src/main/java/net/Broken/SlashCommands/Over18/Madame.java index 377eb68..d847242 100644 --- a/src/main/java/net/Broken/SlashCommands/Over18/Madame.java +++ b/src/main/java/net/Broken/SlashCommands/Over18/Madame.java @@ -2,6 +2,8 @@ package net.Broken.SlashCommands.Over18; import net.Broken.Tools.Command.NoDev; import net.Broken.Tools.Command.NumberedSlashCommand; +import net.dv8tion.jda.api.Permission; +import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.Broken.Tools.FindContentOnWebPage; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -57,11 +59,11 @@ public class Madame extends NumberedSlashCommand { int randomResult = randomQueue.poll(); String url = baseURL + randomResult + urlSuffix; - logger.debug("URL: " + url); + logger.debug("URL: {}",url); if (scanPageForTipeee(url, logger)) { - logger.debug("Advertisement detected! Retry! (" + url + ")"); + logger.debug("Advertisement detected! Retry! ({})", url); } else { imgUrl = FindContentOnWebPage.doYourJob(url, "post-content", "img"); @@ -94,7 +96,7 @@ public class Madame extends NumberedSlashCommand { } @Override - public boolean isDisableByDefault() { - return true; + public DefaultMemberPermissions getDefaultPermissions() { + return DefaultMemberPermissions.enabledFor(Permission.MESSAGE_SEND); } } diff --git a/src/main/java/net/Broken/SlashCommands/Rank.java b/src/main/java/net/Broken/SlashCommands/Rank.java index 7622b91..a895b7c 100644 --- a/src/main/java/net/Broken/SlashCommands/Rank.java +++ b/src/main/java/net/Broken/SlashCommands/Rank.java @@ -6,6 +6,7 @@ import net.Broken.SpringContext; import net.Broken.Tools.UserManager.Stats.UserStatsUtils; import net.dv8tion.jda.api.entities.MessageEmbed; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; +import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.build.OptionData; import net.dv8tion.jda.api.interactions.commands.build.SubcommandData; import net.dv8tion.jda.api.interactions.components.buttons.Button; @@ -56,7 +57,7 @@ public class Rank implements SlashCommand { } @Override - public boolean isDisableByDefault() { - return false; + public DefaultMemberPermissions getDefaultPermissions() { + return DefaultMemberPermissions.ENABLED; } } diff --git a/src/main/java/net/Broken/Tools/Command/CommandParser.java b/src/main/java/net/Broken/Tools/Command/CommandParser.java index 58c4e77..fb40297 100644 --- a/src/main/java/net/Broken/Tools/Command/CommandParser.java +++ b/src/main/java/net/Broken/Tools/Command/CommandParser.java @@ -39,7 +39,7 @@ public class CommandParser { args[i] = args[i].replace('$', ' '); - logger.info("Author: " + e.getAuthor().getName() + ", Command: " + commande + ", args: " + Arrays.toString(args)); + logger.info("Author: {}, Command: {}, args: {}", e.getAuthor().getName(), commande, Arrays.toString(args)); return new CommandContainer(brt, sansTete, splitSansTete, commande, args, e); diff --git a/src/main/java/net/Broken/Tools/Command/SlashCommandLoader.java b/src/main/java/net/Broken/Tools/Command/SlashCommandLoader.java index bfd2940..70a891c 100644 --- a/src/main/java/net/Broken/Tools/Command/SlashCommandLoader.java +++ b/src/main/java/net/Broken/Tools/Command/SlashCommandLoader.java @@ -1,20 +1,20 @@ package net.Broken.Tools.Command; -import net.Broken.BotConfigLoader; -import net.Broken.MainBot; -import net.Broken.SlashCommand; -import net.dv8tion.jda.api.interactions.commands.build.CommandData; -import net.dv8tion.jda.api.interactions.commands.build.Commands; -import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; -import net.dv8tion.jda.api.requests.restaction.CommandListUpdateAction; +import java.lang.reflect.InvocationTargetException; +import java.util.Set; + import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.reflections.Reflections; import org.reflections.util.ClasspathHelper; import org.reflections.util.ConfigurationBuilder; -import java.lang.reflect.InvocationTargetException; -import java.util.Set; +import net.Broken.BotConfigLoader; +import net.Broken.MainBot; +import net.Broken.SlashCommand; +import net.dv8tion.jda.api.interactions.commands.build.Commands; +import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; +import net.dv8tion.jda.api.requests.restaction.CommandListUpdateAction; /** @@ -70,8 +70,8 @@ public class SlashCommandLoader { if (v.getSubcommands() != null) { command.addSubcommands(v.getSubcommands()); } - // TODO Change slash command perm - command.setDefaultEnabled(!v.isDisableByDefault()); + command.setDefaultPermissions(v.getDefaultPermissions()); + commandListUpdateAction.addCommands(command); }); commandListUpdateAction.queue();