package wtf.beatrice.hidekobot.commands.slash; 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.OptionType; import net.dv8tion.jda.api.interactions.commands.build.CommandData; import net.dv8tion.jda.api.interactions.commands.build.Commands; import org.jetbrains.annotations.NotNull; import wtf.beatrice.hidekobot.commands.base.UserPunishment; import wtf.beatrice.hidekobot.objects.commands.SlashCommandImpl; public class BanCommand extends SlashCommandImpl { @Override public CommandData getSlashCommandData() { return Commands.slash("ban", "Ban someone from the guild.") .addOption(OptionType.MENTIONABLE, "target", "The member user to ban.", true, false) .addOption(OptionType.STRING, "reason", "The reason for the punishment.", false, false) .setDefaultPermissions(DefaultMemberPermissions.enabledFor(Permission.BAN_MEMBERS)); } @Override public void runSlashCommand(@NotNull SlashCommandInteractionEvent event) { UserPunishment.handle(event, UserPunishment.PunishmentType.BAN); } }