From 81dedc87d7c84cdaf45b715968f402ae573fc007 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sat, 21 Dec 2019 17:44:34 +0100 Subject: [PATCH] New permission system !!! --- .../commands/moderation/BanCommand.java | 122 ++++++++------- .../commands/moderation/ClearCommand.java | 80 +++++----- .../moderation/InviteDetectCommand.java | 73 +++++---- .../commands/moderation/KickCommand.java | 83 +++++----- .../commands/moderation/NickCommand.java | 131 ++++++++-------- .../commands/moderation/PrefixCommand.java | 39 +++-- .../moderation/RegionChangeCommand.java | 142 +++++++++--------- .../commands/moderation/RoleCommand.java | 110 +++++++------- .../commands/moderation/RulesCommand.java | 71 +++++---- .../commands/moderation/StarBoardCommand.java | 1 + .../commands/owner/GuildLeaveCommand.java | 30 ++-- .../hadder/commands/owner/TestCommand.java | 1 - src/main/java/com/bbn/hadder/core/Perm.java | 25 ++- src/main/java/com/bbn/hadder/core/Perms.java | 7 +- .../Translations/Translations_en.properties | 1 + 15 files changed, 451 insertions(+), 465 deletions(-) diff --git a/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java index 01c76c2..406d699 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java @@ -6,79 +6,77 @@ package com.bbn.hadder.commands.moderation; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.MessageEditor; -import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Member; +@Perms(Perm.BAN_MEMBERS) public class BanCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { - if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.BAN_MEMBERS) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { - if (event.getMessage().getMentionedMembers().size() == 1) { - Member victim = event.getMessage().getMentionedMembers().get(0); - if (!event.getAuthor().getId().equals(victim.getId())) { - if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) { - if (event.getGuild().getSelfMember().canInteract(victim)) { - event.getGuild().ban(victim, 0, "Banned by " + event.getAuthor().getAsTag()).queue(); - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.ban.success.title", - "✅", - "commands.moderation.ban.success.description", - victim.getUser().getName() + ".").build()).queue(); - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); - } - } else { - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.WARNING, - "commands.moderation.ban.error.title", - "commands.moderation.ban.myself.error.description").build()).queue(); - } + if (event.getMessage().getMentionedMembers().size() == 1) { + Member victim = event.getMessage().getMentionedMembers().get(0); + if (!event.getAuthor().getId().equals(victim.getId())) { + if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) { + if (event.getGuild().getSelfMember().canInteract(victim)) { + event.getGuild().ban(victim, 0, "Banned by " + event.getAuthor().getAsTag()).queue(); + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.ban.success.title", + "✅", + "commands.moderation.ban.success.description", + victim.getUser().getName() + ".").build()).queue(); } else { - event.getTextChannel().sendMessage - (event.getMessageEditor().getMessage( - MessageEditor.MessageType.WARNING, - "commands.moderation.ban.error.title", - "commands.moderation.ban.yourself.error.description").build()).queue(); + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); } - } else if (event.getMessage().getMentionedMembers().size() == 0) { - event.getHelpCommand().sendHelp(this, event); - } else if (event.getMessage().getMentionedMembers().size() > 1) { - for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) { - Member member = event.getMessage().getMentionedMembers().get(i); - if (!event.getAuthor().getId().equals(member.getId())) { - if (!event.getJDA().getSelfUser().getId().equals(member.getId())) { - if (event.getGuild().getSelfMember().canInteract(member)) { - event.getGuild().ban(member, 0).reason("Mass Ban by " + event.getAuthor().getAsTag()).queue(); - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); - } - } else { - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.WARNING, - "commands.moderation.ban.error.title", - "commands.moderation.ban.myself.error.description").build()).queue(); - } - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( + } else { + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( MessageEditor.MessageType.WARNING, "commands.moderation.ban.error.title", - "commands.moderation.ban.yourself.error.description").build()).queue(); - } - } - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, - "commands.moderation.ban.success.title", - "✅", - "commands.moderation.ban.massban.success.description", - String.valueOf(event.getMessage().getMentionedMembers().size())).build()).queue(); + "commands.moderation.ban.myself.error.description").build()).queue(); } - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); + } else { + event.getTextChannel().sendMessage + (event.getMessageEditor().getMessage( + MessageEditor.MessageType.WARNING, + "commands.moderation.ban.error.title", + "commands.moderation.ban.yourself.error.description").build()).queue(); + } + } else if (event.getMessage().getMentionedMembers().size() == 0) { + event.getHelpCommand().sendHelp(this, event); + } else if (event.getMessage().getMentionedMembers().size() > 1) { + for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) { + Member member = event.getMessage().getMentionedMembers().get(i); + if (!event.getAuthor().getId().equals(member.getId())) { + if (!event.getJDA().getSelfUser().getId().equals(member.getId())) { + if (event.getGuild().getSelfMember().canInteract(member)) { + event.getGuild().ban(member, 0).reason("Mass Ban by " + event.getAuthor().getAsTag()).queue(); + } else { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + } + } else { + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.WARNING, + "commands.moderation.ban.error.title", + "commands.moderation.ban.myself.error.description").build()).queue(); + } + } else { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( + MessageEditor.MessageType.WARNING, + "commands.moderation.ban.error.title", + "commands.moderation.ban.yourself.error.description").build()).queue(); + } + } + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, + "commands.moderation.ban.success.title", + "✅", + "commands.moderation.ban.massban.success.description", + String.valueOf(event.getMessage().getMentionedMembers().size())).build()).queue(); } } @@ -94,6 +92,6 @@ public class BanCommand implements Command { @Override public String usage() { - return "<@User>"; + return "user"; } } diff --git a/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java index 05a6bbd..6e3d248 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java @@ -6,6 +6,8 @@ package com.bbn.hadder.commands.moderation; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Message; @@ -14,61 +16,57 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; - +@Perms(Perm.MANAGE_MESSAGES) public class ClearCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { if (args.length > 0) { - if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MESSAGE_MANAGE) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { - if (event.getGuild().getMemberById(event.getJDA().getSelfUser().getId()).hasPermission(Permission.MESSAGE_MANAGE)) { - if (args[0].equals("all")) { - List msg = event.getTextChannel().getIterableHistory().complete(); - for (Message message : msg) { - message.delete().queue(); - } - Message message = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( + if (event.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_MANAGE)) { + if (args[0].equals("all")) { + List msg = event.getTextChannel().getIterableHistory().complete(); + for (Message message : msg) { + message.delete().queue(); + } + Message message = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( MessageEditor.MessageType.INFO, "commands.moderation.lear.all.success.title", "", "commands.moderation.lear.all.success.description", String.valueOf(msg.size())) - .build()).complete(); - try { - TimeUnit.SECONDS.sleep(3); - } catch (InterruptedException e) { - e.printStackTrace(); - } - message.delete().queue(); - } else { - try { - int nbToDelete = Integer.parseInt(args[0]); - if (nbToDelete < 1 || nbToDelete > 99) { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "", "commands.moderation.clear.number.error.description").build()).queue(); - } else { - List history = event.getTextChannel().getHistory().retrievePast(nbToDelete + 1).complete(); - List msgToDelete = new ArrayList<>(history); - event.getTextChannel().deleteMessages(msgToDelete).queue(); - Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "", "", "commands.moderation.clear.success.description", String.valueOf(nbToDelete)).build()).complete(); - try { - TimeUnit.SECONDS.sleep(2); - } catch (InterruptedException e) { - e.printStackTrace(); - } - msg.delete().queue(); - } - } catch (NumberFormatException e) { - event.getHelpCommand().sendHelp(this, event); - } catch (IllegalArgumentException e) { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.clear.message.error.title", "commands.moderation.clear.message.error.description") - .build()).queue(); - } + .build()).complete(); + try { + TimeUnit.SECONDS.sleep(3); + } catch (InterruptedException e) { + e.printStackTrace(); } + message.delete().queue(); } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + try { + int nbToDelete = Integer.parseInt(args[0]); + if (nbToDelete < 1 || nbToDelete > 99) { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "", "commands.moderation.clear.number.error.description").build()).queue(); + } else { + List history = event.getTextChannel().getHistory().retrievePast(nbToDelete + 1).complete(); + List msgToDelete = new ArrayList<>(history); + event.getTextChannel().deleteMessages(msgToDelete).queue(); + Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "", "", "commands.moderation.clear.success.description", String.valueOf(nbToDelete)).build()).complete(); + try { + TimeUnit.SECONDS.sleep(2); + } catch (InterruptedException e) { + e.printStackTrace(); + } + msg.delete().queue(); + } + } catch (NumberFormatException e) { + event.getHelpCommand().sendHelp(this, event); + } catch (IllegalArgumentException e) { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.clear.message.error.title", "commands.moderation.clear.message.error.description") + .build()).queue(); + } } } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); } } else { event.getHelpCommand().sendHelp(this, event); diff --git a/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java index 5bc0981..37f9b0d 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java @@ -6,54 +6,53 @@ package com.bbn.hadder.commands.moderation; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.Permission; +@Perms(Perm.MANAGE_SERVER) public class InviteDetectCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { if (args.length == 1) { - if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { - String opinion = args[0].toLowerCase(); - switch (opinion) { - case "on": - if (!event.getRethink().getInviteDetection(event.getGuild().getId())) { - event.getRethink().setInviteDetection(event.getGuild().getId(), true); - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.invitedetect.activate.success.title", - "commands.moderation.invitedetect.activate.success.description") - .build()).queue(); - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( - MessageEditor.MessageType.WARNING, - "commands.moderation.invitedetect.activate.error.title", - "commands.moderation.invitedetect.activate.error.description") - .build()).queue(); - } - break; - - case "off": - if (event.getRethink().getInviteDetection(event.getGuild().getId())) { - event.getRethink().setInviteDetection(event.getGuild().getId(), false); - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( + String opinion = args[0].toLowerCase(); + switch (opinion) { + case "on": + if (!event.getRethink().getInviteDetection(event.getGuild().getId())) { + event.getRethink().setInviteDetection(event.getGuild().getId(), true); + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( MessageEditor.MessageType.INFO, - "commands.moderation.invitedetect.deactivate.success.title", - "commands.moderation.invitedetect.deactivate.success.description") + "commands.moderation.invitedetect.activate.success.title", + "commands.moderation.invitedetect.activate.success.description") .build()).queue(); - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( - MessageEditor.MessageType.WARNING, - "commands.moderation.invitedetect.deactivate.error.title", - "commands.moderation.invitedetect.deactivate.error.description") - .build()).queue(); - } - break; + } else { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( + MessageEditor.MessageType.WARNING, + "commands.moderation.invitedetect.activate.error.title", + "commands.moderation.invitedetect.activate.error.description") + .build()).queue(); } - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); + break; + + case "off": + if (event.getRethink().getInviteDetection(event.getGuild().getId())) { + event.getRethink().setInviteDetection(event.getGuild().getId(), false); + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.invitedetect.deactivate.success.title", + "commands.moderation.invitedetect.deactivate.success.description") + .build()).queue(); + } else { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( + MessageEditor.MessageType.WARNING, + "commands.moderation.invitedetect.deactivate.error.title", + "commands.moderation.invitedetect.deactivate.error.description") + .build()).queue(); + } + break; } } else { event.getHelpCommand().sendHelp(this, event); diff --git a/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java index a894608..911bb52 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java @@ -6,63 +6,62 @@ package com.bbn.hadder.commands.moderation; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.MessageEditor; -import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Member; - +@Perms(Perm.KICK_MEMBERS) public class KickCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { - if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.KICK_MEMBERS) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { - if (event.getMessage().getMentionedMembers().size() == 1) { - Member victim = event.getMessage().getMentionedMembers().get(0); - if (!event.getAuthor().getId().equals(victim.getId())) { - if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) { - if (event.getGuild().getSelfMember().canInteract(victim)) { - event.getGuild().kick(victim, "Kicked by " + event.getAuthor().getAsTag()).queue(); - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.kick.success.title", - "✅", - "commands.moderation.kick.success.description", - victim.getUser().getName()).build()).queue(); + if (event.getMessage().getMentionedMembers().size() == 1) { + Member victim = event.getMessage().getMentionedMembers().get(0); + if (!event.getAuthor().getId().equals(victim.getId())) { + if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) { + if (event.getGuild().getSelfMember().canInteract(victim)) { + event.getGuild().kick(victim, "Kicked by " + event.getAuthor().getAsTag()).queue(); + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.kick.success.title", + "✅", + "commands.moderation.kick.success.description", + victim.getUser().getName()).build()).queue(); + } else { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + } + } else { + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.WARNING, + "commands.moderation.kick.error.title", + "commands.moderation.kick.myself.error.description").build()).queue(); + } + } else { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.kick.error.title", "commands.moderation.kick.yourself.error.description").build()).queue(); + } + } else if (event.getMessage().getMentionedMembers().size() == 0) { + event.getHelpCommand().sendHelp(this, event); + } else if (event.getMessage().getMentionedMembers().size() > 1) { + for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) { + Member member = event.getMessage().getMentionedMembers().get(i); + if (!event.getAuthor().getId().equals(member.getId())) { + if (!event.getJDA().getSelfUser().getId().equals(member.getId())) { + if (event.getGuild().getSelfMember().canInteract(member)) { + event.getGuild().kick(member).reason("Mass Kicked by " + event.getAuthor().getAsTag()).queue(); } else { event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); } } else { - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.WARNING, - "commands.moderation.kick.error.title", - "commands.moderation.kick.myself.error.description").build()).queue(); + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.kick.error.title", "commands.moderation.kick.myself.error.description").build()).queue(); } } else { event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.kick.error.title", "commands.moderation.kick.yourself.error.description").build()).queue(); } - } else if (event.getMessage().getMentionedMembers().size() == 0) { - event.getHelpCommand().sendHelp(this, event); - } else if (event.getMessage().getMentionedMembers().size() > 1) { - for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) { - Member member = event.getMessage().getMentionedMembers().get(i); - if (!event.getAuthor().getId().equals(member.getId())) { - if (!event.getJDA().getSelfUser().getId().equals(member.getId())) { - if (event.getGuild().getSelfMember().canInteract(member)) { - event.getGuild().kick(member).reason("Mass Kicked by " + event.getAuthor().getAsTag()).queue(); - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); - } - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.kick.error.title","commands.moderation.kick.myself.error.description").build()).queue(); - } - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.moderation.kick.error.title", "commands.moderation.kick.yourself.error.description").build()).queue(); - } - } - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,"commands.moderation.kick.success.title", "✅","commands.moderation.kick.masskick.success.description", String.valueOf(event.getMessage().getMentionedMembers().size())).build()).queue(); } + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.moderation.kick.success.title", "✅", "commands.moderation.kick.masskick.success.description", String.valueOf(event.getMessage().getMentionedMembers().size())).build()).queue(); } } @@ -78,6 +77,6 @@ public class KickCommand implements Command { @Override public String usage() { - return "<@User>"; + return "user"; } } diff --git a/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java index 3b04bcf..df21d5a 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java @@ -6,91 +6,90 @@ package com.bbn.hadder.commands.moderation; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Member; +@Perms(Perm.CHANGE_NICKNAME) public class NickCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { - if (event.getMember().hasPermission(Permission.NICKNAME_MANAGE) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { - if (event.getGuild().getSelfMember().hasPermission(Permission.NICKNAME_MANAGE)) { - if (event.getMessage().getMentionedMembers().size() == 1) { - if (!event.getMessage().getMentionedMembers().get(0).getId().equals(event.getGuild().getSelfMember().getId())) { - if (event.getGuild().getSelfMember().canInteract(event.getMessage().getMentionedMembers().get(0))) { - if (args.length > 1) { - if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) { - event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.nick.success.title", - "✅", - "commands.moderation.nick.success.description", - event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() - ).build()).queue(); - } else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) { - event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.nick.success.title", - "✅", - "commands.moderation.nick.success.description", event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() - ).build()).queue(); - } - } else { - event.getHelpCommand().sendHelp(this, event); + if (event.getGuild().getSelfMember().hasPermission(Permission.NICKNAME_MANAGE)) { + if (event.getMessage().getMentionedMembers().size() == 1) { + if (!event.getMessage().getMentionedMembers().get(0).getId().equals(event.getGuild().getSelfMember().getId())) { + if (event.getGuild().getSelfMember().canInteract(event.getMessage().getMentionedMembers().get(0))) { + if (args.length > 1) { + if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) { + event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.nick.success.title", + "✅", + "commands.moderation.nick.success.description", + event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() + ).build()).queue(); + } else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) { + event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.nick.success.title", + "✅", + "commands.moderation.nick.success.description", event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() + ).build()).queue(); } } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + event.getHelpCommand().sendHelp(this, event); } } else { - if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) { - event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.nick.success.title", - "✅", - "commands.moderation.nick.myself.success.description", - "").build()).queue(); - } else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) { - event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.nick.success.title", - "✅", - "commands.moderation.nick.myself.success.description", "" - ).build()).queue(); - } + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); } - } else if (event.getMessage().getMentionedMembers().size() == 0) { - event.getHelpCommand().sendHelp(this, event); } else { - for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) { - Member member = event.getMessage().getMentionedMembers().get(i); - if (!event.getJDA().getSelfUser().getId().equals(member.getId())) { - event.getGuild().modifyNickname(member, args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue(); - } else { - event.getGuild().getSelfMember().modifyNickname(args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue(); - } + if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) { + event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.nick.success.title", + "✅", + "commands.moderation.nick.myself.success.description", + "").build()).queue(); + } else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) { + event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.nick.success.title", + "✅", + "commands.moderation.nick.myself.success.description", "" + ).build()).queue(); } - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.nick.success.title", - "✅", - "commands.moderation.nick.myself.success.description", String.valueOf(event.getMessage().getMentionedMembers().size()) - ).build()).queue(); } + } else if (event.getMessage().getMentionedMembers().size() == 0) { + event.getHelpCommand().sendHelp(this, event); } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) { + Member member = event.getMessage().getMentionedMembers().get(i); + if (!event.getJDA().getSelfUser().getId().equals(member.getId())) { + event.getGuild().modifyNickname(member, args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue(); + } else { + event.getGuild().getSelfMember().modifyNickname(args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue(); + } + } + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.nick.success.title", + "✅", + "commands.moderation.nick.myself.success.description", String.valueOf(event.getMessage().getMentionedMembers().size()) + ).build()).queue(); } } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); } } diff --git a/src/main/java/com/bbn/hadder/commands/moderation/PrefixCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/PrefixCommand.java index 01a7d9a..43742d9 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/PrefixCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/PrefixCommand.java @@ -2,37 +2,36 @@ package com.bbn.hadder.commands.moderation; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.Permission; +@Perms(Perm.MANAGE_SERVER) public class PrefixCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { - if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { - if (args.length == 1) { - if (!args[0].contains("\"")) { + if (args.length == 1) { + if (!args[0].contains("\"")) { - event.getRethink().setGuildPrefix(args[0], event.getGuild().getId()); - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.prefix.success.title", - "✅", - "commands.moderation.prefix.success.description", - args[0]).build() - ).queue(); - } else { - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.WARNING, - "", - "commands.moderation.prefix.error.description").build()).queue(); - } + event.getRethink().setGuildPrefix(args[0], event.getGuild().getId()); + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.prefix.success.title", + "✅", + "commands.moderation.prefix.success.description", + args[0]).build() + ).queue(); } else { - event.getHelpCommand().sendHelp(this, event); + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.WARNING, + "", + "commands.moderation.prefix.error.description").build()).queue(); } } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); + event.getHelpCommand().sendHelp(this, event); } } diff --git a/src/main/java/com/bbn/hadder/commands/moderation/RegionChangeCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/RegionChangeCommand.java index ee6af87..416a26b 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/RegionChangeCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/RegionChangeCommand.java @@ -6,91 +6,93 @@ package com.bbn.hadder.commands.moderation; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Region; +@Perms(Perm.MANAGE_SERVER) public class RegionChangeCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { if (args.length == 1) { - if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_SERVER)) { - if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { - switch (args[0].toLowerCase()) { - case "amsterdam": - setRegion(Region.AMSTERDAM, "Amsterdam", event); - break; - case "frankfurt": - setRegion(Region.FRANKFURT, "Frankfurt", event); - break; - case "eu-west": - setRegion(Region.EU_WEST, "EU West", event); - break; - case "eu-central": - setRegion(Region.EU_CENTRAL, "EU Central", event); - break; - case "europe": - setRegion(Region.EUROPE, "EUROPE", event); - break; - case "brazil": - setRegion(Region.BRAZIL, "Brazil", event); - break; - case "hongkong": - setRegion(Region.HONG_KONG, "Hong Kong", event); - break; - case "india": - setRegion(Region.INDIA, "India", event); - break; - case "japan": - setRegion(Region.JAPAN, "Japan", event); - break; - case "london": - setRegion(Region.LONDON, "London", event); - break; - case "russia": - setRegion(Region.RUSSIA, "Russia", event); - break; - case "singapore": - setRegion(Region.SINGAPORE, "Singapore", event); - break; - case "south-africa": - setRegion(Region.SOUTH_AFRICA, "South Africa", event); - break; - case "sydney": - setRegion(Region.SYDNEY, "Sydney", event); - break; - case "us-central": - setRegion(Region.US_CENTRAL, "US Central", event); - break; - case "us-east": - setRegion(Region.US_EAST, "US East", event); - break; - case "us-west": - setRegion(Region.US_WEST, "US West", event); - break; - case "us-south": - setRegion(Region.US_SOUTH, "US South", event); - break; - case "list": - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.regionchange.regions.title", - "") - .setDescription("**LOCKED:**\n`amsterdam` `frankfurt` `eu-west` `eu-central` `london`\n\n**UNLOCKED:**\n`europe` `brazil` `hongkong` `india` `japan` `singapore` `south-africa` `sydney` `us-central` `us-east` `us-west` `us-south`") - .build()).queue(); - break; - } - } else event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); - } else event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { + switch (args[0].toLowerCase()) { + case "amsterdam": + setRegion(Region.AMSTERDAM, "Amsterdam", event); + break; + case "frankfurt": + setRegion(Region.FRANKFURT, "Frankfurt", event); + break; + case "eu-west": + setRegion(Region.EU_WEST, "EU West", event); + break; + case "eu-central": + setRegion(Region.EU_CENTRAL, "EU Central", event); + break; + case "europe": + setRegion(Region.EUROPE, "EUROPE", event); + break; + case "brazil": + setRegion(Region.BRAZIL, "Brazil", event); + break; + case "hongkong": + setRegion(Region.HONG_KONG, "Hong Kong", event); + break; + case "india": + setRegion(Region.INDIA, "India", event); + break; + case "japan": + setRegion(Region.JAPAN, "Japan", event); + break; + case "london": + setRegion(Region.LONDON, "London", event); + break; + case "russia": + setRegion(Region.RUSSIA, "Russia", event); + break; + case "singapore": + setRegion(Region.SINGAPORE, "Singapore", event); + break; + case "south-africa": + setRegion(Region.SOUTH_AFRICA, "South Africa", event); + break; + case "sydney": + setRegion(Region.SYDNEY, "Sydney", event); + break; + case "us-central": + setRegion(Region.US_CENTRAL, "US Central", event); + break; + case "us-east": + setRegion(Region.US_EAST, "US East", event); + break; + case "us-west": + setRegion(Region.US_WEST, "US West", event); + break; + case "us-south": + setRegion(Region.US_SOUTH, "US South", event); + break; + case "list": + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.regionchange.regions.title", + "") + .setDescription("**LOCKED:**\n`amsterdam` `frankfurt` `eu-west` `eu-central` `london`\n\n**UNLOCKED:**\n`europe` `brazil` `hongkong` `india` `japan` `singapore` `south-africa` `sydney` `us-central` `us-east` `us-west` `us-south`") + .build()).queue(); + break; + } + } else + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); } else event.getTextChannel().sendMessage( event.getMessageEditor().getMessage( MessageEditor.MessageType.INFO, "commands.moderation.regionchange.regions.title", "") .setDescription("**LOCKED:**\n`amsterdam` `frankfurt` `eu-west` `eu-central` `london`\n\n**UNLOCKED:**\n`europe` `brazil` `hongkong` `india` `japan` `singapore` `south-africa` `sydney` `us-central` `us-east` `us-west` `us-south`") - .build()).queue(); + .build()).queue(); } public void setRegion (Region region, String region_name, CommandEvent event) { diff --git a/src/main/java/com/bbn/hadder/commands/moderation/RoleCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/RoleCommand.java index f8fac2a..9c914bb 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/RoleCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/RoleCommand.java @@ -2,81 +2,81 @@ package com.bbn.hadder.commands.moderation; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Role; +@Perms(Perm.MANAGE_ROLES) public class RoleCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { if (args.length > 0) { if (event.getMember().hasPermission(Permission.MANAGE_ROLES)) { - if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { - String action = args[0].toLowerCase(); - switch (action) { - case "add": - if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) { - for (Member member : event.getMessage().getMentionedMembers()) { - for (Role role : event.getMessage().getMentionedRoles()) { - if (event.getGuild().getSelfMember().canInteract(member)) { - if (event.getGuild().getSelfMember().canInteract(role)) { - event.getGuild().addRoleToMember(member, role).reason("Role added by " + event.getAuthor().getAsTag()).queue(); - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); - } - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); - } - } - } - event.getChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.role.add.success.title", - "✅", - "", - "commands.moderation.role.add.success.description", - String.valueOf(event.getMessage().getMentionedRoles().size()), - String.valueOf(event.getMessage().getMentionedMembers().size())) - .build()).queue(); - } - break; - case "remove": - if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) { - for (Member member : event.getMessage().getMentionedMembers()) { - for (Role role : event.getMessage().getMentionedRoles()) { - if (event.getGuild().getSelfMember().canInteract(member)) { - if (event.getGuild().getSelfMember().canInteract(role)) { - event.getGuild().removeRoleFromMember(member, role).reason("Role removed by " + event.getAuthor().getAsTag()).queue(); - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); - } + String action = args[0].toLowerCase(); + switch (action) { + case "add": + if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) { + for (Member member : event.getMessage().getMentionedMembers()) { + for (Role role : event.getMessage().getMentionedRoles()) { + if (event.getGuild().getSelfMember().canInteract(member)) { + if (event.getGuild().getSelfMember().canInteract(role)) { + event.getGuild().addRoleToMember(member, role).reason("Role added by " + event.getAuthor().getAsTag()).queue(); } else { event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); } + } else { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); } } - event.getChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.role.remove.success.title", - "✅", - "", - "commands.moderation.role.remove.success.description", - String.valueOf(event.getMessage().getMentionedRoles().size()), - String.valueOf(event.getMessage().getMentionedMembers().size())) - .build()).queue(); } - break; - } - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + event.getChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.role.add.success.title", + "✅", + "", + "commands.moderation.role.add.success.description", + String.valueOf(event.getMessage().getMentionedRoles().size()), + String.valueOf(event.getMessage().getMentionedMembers().size())) + .build()).queue(); + } + break; + + case "remove": + if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) { + for (Member member : event.getMessage().getMentionedMembers()) { + for (Role role : event.getMessage().getMentionedRoles()) { + if (event.getGuild().getSelfMember().canInteract(member)) { + if (event.getGuild().getSelfMember().canInteract(role)) { + event.getGuild().removeRoleFromMember(member, role).reason("Role removed by " + event.getAuthor().getAsTag()).queue(); + } else { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + } + } else { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + } + } + } + event.getChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.role.remove.success.title", + "✅", + "", + "commands.moderation.role.remove.success.description", + String.valueOf(event.getMessage().getMentionedRoles().size()), + String.valueOf(event.getMessage().getMentionedMembers().size())) + .build()).queue(); + } + break; } } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); } } else { event.getHelpCommand().sendHelp(this, event); diff --git a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java index f39dd5c..23fb16e 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java @@ -6,6 +6,8 @@ package com.bbn.hadder.commands.moderation; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.EventWaiter; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.Permission; @@ -15,48 +17,45 @@ import net.dv8tion.jda.api.entities.Role; import net.dv8tion.jda.api.entities.TextChannel; import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent; +@Perms(Perm.MANAGE_SERVER) public class RulesCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { - if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { - if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) { - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.INFO, - "commands.moderation.rules.setup.title", - "commands.moderation.rules.setup.description") - .build()).queue(); - new EventWaiter().newOnMessageEventWaiter(event1 -> { - if (event1.getMessage().getMentionedChannels().size() == 1) { - try { - TextChannel channel = event1.getMessage().getMentionedChannels().get(0); - createRules(event, event1, channel); - } catch (Exception e) { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, - "commands.moderation.rules.channel.error.title", - "commands.moderation.rules.channel.error.description") - .build()).queue(); - } - } else { - try { - TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0); - createRules(event, event1, channel); - } catch (Exception e) { - event.getTextChannel().sendMessage( - event.getMessageEditor().getMessage( - MessageEditor.MessageType.ERROR, - "commands.moderation.rules.channel.error.title", - "commands.moderation.rules.channel.error.description") - .build()).queue(); - } + if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) { + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.INFO, + "commands.moderation.rules.setup.title", + "commands.moderation.rules.setup.description") + .build()).queue(); + new EventWaiter().newOnMessageEventWaiter(event1 -> { + if (event1.getMessage().getMentionedChannels().size() == 1) { + try { + TextChannel channel = event1.getMessage().getMentionedChannels().get(0); + createRules(event, event1, channel); + } catch (Exception e) { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, + "commands.moderation.rules.channel.error.title", + "commands.moderation.rules.channel.error.description") + .build()).queue(); } - }, event.getJDA(), event.getAuthor()); - } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); - } + } else { + try { + TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0); + createRules(event, event1, channel); + } catch (Exception e) { + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage( + MessageEditor.MessageType.ERROR, + "commands.moderation.rules.channel.error.title", + "commands.moderation.rules.channel.error.description") + .build()).queue(); + } + } + }, event.getJDA(), event.getAuthor()); } else { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); } } diff --git a/src/main/java/com/bbn/hadder/commands/moderation/StarBoardCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/StarBoardCommand.java index fbabb35..50d6987 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/StarBoardCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/StarBoardCommand.java @@ -6,6 +6,7 @@ import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.entities.TextChannel; public class StarBoardCommand implements Command { + @Override public void executed(String[] args, CommandEvent event) { if (event.getMessage().getMentionedChannels().size()==1) { diff --git a/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java b/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java index a7ec8f7..b35d07d 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java @@ -16,23 +16,21 @@ public class GuildLeaveCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { - if (event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { - if (args.length > 0) { - Guild guild = event.getJDA().getGuildById(args[0]); - try { - guild.leave().queue(); - event.getTextChannel() - .sendMessage(event.getMessageEditor() - .getMessage(MessageEditor.MessageType.INFO, "commands.owner.guildleave.success.title", - "", "commands.owner.guildleave.success.description", guild.getName()) - .build()) - .queue(); - } catch (Exception e) { - event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.owner.guildleave.error.title", "", "commands.owner.guildleave.help.description", guild.getName()).build()).queue(); - } - } else { - event.getHelpCommand().sendHelp(this, event); + if (args.length > 0) { + Guild guild = event.getJDA().getGuildById(args[0]); + try { + guild.leave().queue(); + event.getTextChannel() + .sendMessage(event.getMessageEditor() + .getMessage(MessageEditor.MessageType.INFO, "commands.owner.guildleave.success.title", + "", "commands.owner.guildleave.success.description", guild.getName()) + .build()) + .queue(); + } catch (Exception e) { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "commands.owner.guildleave.error.title", "", "commands.owner.guildleave.help.description", guild.getName()).build()).queue(); } + } else { + event.getHelpCommand().sendHelp(this, event); } } diff --git a/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java b/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java index 44eba79..ae25810 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java @@ -10,7 +10,6 @@ import com.bbn.hadder.utils.MessageEditor.MessageType; * @author Skidder / GregTCLTK */ -@Perms(Perm.BOT_OWNER) public class TestCommand implements Command { @Override diff --git a/src/main/java/com/bbn/hadder/core/Perm.java b/src/main/java/com/bbn/hadder/core/Perm.java index a49d3f1..4cd1b7a 100644 --- a/src/main/java/com/bbn/hadder/core/Perm.java +++ b/src/main/java/com/bbn/hadder/core/Perm.java @@ -1,14 +1,11 @@ -/* - * @author Hax / Hax6775 / Schlauer_Hax - */ - package com.bbn.hadder.core; import com.bbn.hadder.commands.CommandEvent; import net.dv8tion.jda.api.Permission; -/* +/** * @author Skidder / GregTCLTK + * @author Hax / Hax6775 / Schlauer_Hax */ public enum Perm { @@ -22,55 +19,55 @@ public enum Perm { MANAGE_MESSAGES { @Override public boolean check(CommandEvent event) { - return event.getMember().hasPermission(Permission.MESSAGE_MANAGE); + return event.getMember().hasPermission(Permission.MESSAGE_MANAGE) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong()); } }, EMBED_MESSAGES { @Override public boolean check(CommandEvent event) { - return event.getMember().hasPermission(Permission.MESSAGE_EMBED_LINKS); + return event.getMember().hasPermission(Permission.MESSAGE_EMBED_LINKS) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong()); } }, BAN_MEMBERS { @Override public boolean check(CommandEvent event) { - return event.getMember().hasPermission(Permission.BAN_MEMBERS); + return event.getMember().hasPermission(Permission.BAN_MEMBERS) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong()); } }, KICK_MEMBERS { @Override public boolean check(CommandEvent event) { - return event.getMember().hasPermission(Permission.KICK_MEMBERS); + return event.getMember().hasPermission(Permission.KICK_MEMBERS) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong()); } }, MANAGE_SERVER { @Override public boolean check(CommandEvent event) { - return event.getMember().hasPermission(Permission.MANAGE_SERVER); + return event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong()); } }, MANAGE_ROLES { @Override public boolean check(CommandEvent event) { - return event.getMember().hasPermission(Permission.MANAGE_ROLES); + return event.getMember().hasPermission(Permission.MANAGE_ROLES) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong()); } }, CHANGE_NICKNAME { @Override public boolean check(CommandEvent event) { - return event.getMember().hasPermission(Permission.NICKNAME_CHANGE); + return event.getMember().hasPermission(Permission.NICKNAME_CHANGE) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong()); } }, ADMINISTRATOR { @Override public boolean check(CommandEvent event) { - return event.getMember().hasPermission(Permission.ADMINISTRATOR); + return event.getMember().hasPermission(Permission.ADMINISTRATOR) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong()); } }, MANAGE_WEBHOOKS { @Override public boolean check(CommandEvent event) { - return event.getMember().hasPermission(Permission.MANAGE_WEBHOOKS); + return event.getMember().hasPermission(Permission.MANAGE_WEBHOOKS) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong()); } }; diff --git a/src/main/java/com/bbn/hadder/core/Perms.java b/src/main/java/com/bbn/hadder/core/Perms.java index 32773d8..7fc8426 100644 --- a/src/main/java/com/bbn/hadder/core/Perms.java +++ b/src/main/java/com/bbn/hadder/core/Perms.java @@ -1,14 +1,11 @@ -/* - * @author Hax / Hax6775 / Schlauer_Hax - */ - package com.bbn.hadder.core; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -/* +/** * @author Skidder / GregTCLTK + * @author Hax / Hax6775 / Schlauer_Hax */ @Retention(RetentionPolicy.RUNTIME) diff --git a/src/main/resources/Translations/Translations_en.properties b/src/main/resources/Translations/Translations_en.properties index 112f260..c72b94c 100644 --- a/src/main/resources/Translations/Translations_en.properties +++ b/src/main/resources/Translations/Translations_en.properties @@ -4,6 +4,7 @@ Hadder = Hadder +user = <@User> searchterm = username = number = /all