From 774bb8879747e1a5f9518b7e1ff1f56363ad476a Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Wed, 18 Dec 2019 19:23:10 +0100 Subject: [PATCH 01/17] Removed three unused imports --- src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java | 1 - src/main/java/com/bbn/hadder/commands/owner/TestCommand.java | 3 --- src/main/java/com/bbn/hadder/listener/StarboardListener.java | 1 - 3 files changed, 5 deletions(-) diff --git a/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java b/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java index 5059e4f..2312a5d 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java @@ -8,7 +8,6 @@ import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.commands.Perm; import com.bbn.hadder.commands.Perms; -import com.bbn.hadder.utils.MessageEditor; @Perms(Perm.BOT_OWNER) public class RebootCommand implements Command { 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 35a1427..0c550bf 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java @@ -4,11 +4,8 @@ import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.commands.Perm; import com.bbn.hadder.commands.Perms; -import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor.MessageType; -import static com.bbn.hadder.commands.Perm.BOT_OWNER; - /* * @author Skidder / GregTCLTK */ diff --git a/src/main/java/com/bbn/hadder/listener/StarboardListener.java b/src/main/java/com/bbn/hadder/listener/StarboardListener.java index f5438a7..091bc28 100644 --- a/src/main/java/com/bbn/hadder/listener/StarboardListener.java +++ b/src/main/java/com/bbn/hadder/listener/StarboardListener.java @@ -9,7 +9,6 @@ import net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import javax.annotation.Nonnull; -import java.time.format.DateTimeFormatter; public class StarboardListener extends ListenerAdapter { From 251c0a0d8183e7be6669d451b3ea3cd84656b0d4 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Wed, 18 Dec 2019 19:56:56 +0100 Subject: [PATCH 02/17] ... --- pom.xml | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/pom.xml b/pom.xml index d8f019e..450bede 100644 --- a/pom.xml +++ b/pom.xml @@ -83,6 +83,10 @@ maven-resources-plugin 3.1.0 + + maven-compiler-plugin + 3.8.1 + maven-surefire-plugin 2.22.2 @@ -127,20 +131,20 @@ - maven-assembly-plugin - - Hadder-Build - - - com.bbn.hadder.Hadder - - - - jar-with-dependencies - - false - - + maven-assembly-plugin + + Hadder-Build + + + com.bbn.hadder.Hadder + + + + jar-with-dependencies + + false + + From 7482c34b4719c76fadf842d10daba47f713c18b2 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Wed, 18 Dec 2019 20:00:02 +0100 Subject: [PATCH 03/17] oof --- .../bbn/hadder/commands/owner/GuildLeaveCommand.java | 10 ---------- 1 file changed, 10 deletions(-) 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 32c392a..b853dfc 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java @@ -33,17 +33,7 @@ public class GuildLeaveCommand implements Command { } else { event.getHelpCommand().sendHelp(this, event); } - } else { - event.getTextChannel() - .sendMessage(event.getMessageEditor() - .getMessage(MessageEditor.MessageType.INFO, "commands.owner.guildleave.success.title", - "", "commands.owner.guildleave.success.description", guild.getName()) - .build()) - .queue(); - } else { - event.getHelpCommand().sendHelp(this, event); } - } @Override From 3e1de81eb82aab656f5770c4f69ea52f0d2e1833 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Wed, 18 Dec 2019 20:11:54 +0100 Subject: [PATCH 04/17] ;) --- .../java/com/bbn/hadder/commands/Perm.java | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/bbn/hadder/commands/Perm.java b/src/main/java/com/bbn/hadder/commands/Perm.java index ede807c..53717e5 100644 --- a/src/main/java/com/bbn/hadder/commands/Perm.java +++ b/src/main/java/com/bbn/hadder/commands/Perm.java @@ -10,58 +10,58 @@ public enum Perm { BOT_OWNER() { @Override - public boolean check(CommandEvent commandEvent) { - return commandEvent.getConfig().getOwners().contains(commandEvent.getAuthor().getIdLong()); + public boolean check(CommandEvent event) { + return event.getConfig().getOwners().contains(event.getAuthor().getIdLong()); } }, MANAGE_MESSAGES { @Override - public boolean check(CommandEvent commandEvent) { - return commandEvent.getMember().hasPermission(Permission.MESSAGE_MANAGE); + public boolean check(CommandEvent event) { + return event.getMember().hasPermission(Permission.MESSAGE_MANAGE); } }, EMBED_MESSAGES { @Override - public boolean check(CommandEvent commandEvent) { - return commandEvent.getMember().hasPermission(Permission.MESSAGE_EMBED_LINKS); + public boolean check(CommandEvent event) { + return event.getMember().hasPermission(Permission.MESSAGE_EMBED_LINKS); } }, BAN_MEMBERS { @Override - public boolean check(CommandEvent commandEvent) { - return commandEvent.getMember().hasPermission(Permission.BAN_MEMBERS); + public boolean check(CommandEvent event) { + return event.getMember().hasPermission(Permission.BAN_MEMBERS); } }, KICK_MEMBERS { @Override - public boolean check(CommandEvent commandEvent) { - return commandEvent.getMember().hasPermission(Permission.KICK_MEMBERS); + public boolean check(CommandEvent event) { + return event.getMember().hasPermission(Permission.KICK_MEMBERS); } }, MANAGE_SERVER { @Override - public boolean check(CommandEvent commandEvent) { - return commandEvent.getMember().hasPermission(Permission.MANAGE_SERVER); + public boolean check(CommandEvent event) { + return event.getMember().hasPermission(Permission.MANAGE_SERVER); } }, MANAGE_ROLES { @Override - public boolean check(CommandEvent commandEvent) { - return commandEvent.getMember().hasPermission(Permission.MANAGE_ROLES); + public boolean check(CommandEvent event) { + return event.getMember().hasPermission(Permission.MANAGE_ROLES); } }, CHANGE_NICKNAME { @Override - public boolean check(CommandEvent commandEvent) { - return commandEvent.getMember().hasPermission(Permission.NICKNAME_CHANGE); + public boolean check(CommandEvent event) { + return event.getMember().hasPermission(Permission.NICKNAME_CHANGE); } }, ADMIN_PERMISSIONS { @Override - public boolean check(CommandEvent commandEvent) { - return commandEvent.getMember().hasPermission(Permission.ADMINISTRATOR); + public boolean check(CommandEvent event) { + return event.getMember().hasPermission(Permission.ADMINISTRATOR); } }; - public abstract boolean check(CommandEvent commandEvent); + public abstract boolean check(CommandEvent event); } From cc710b406d33b9e3e4c2560c2e771dfeaa31ff67 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Thu, 19 Dec 2019 19:03:53 +0100 Subject: [PATCH 05/17] ^^ --- src/main/java/com/bbn/hadder/commands/Perm.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/bbn/hadder/commands/Perm.java b/src/main/java/com/bbn/hadder/commands/Perm.java index 53717e5..75579d1 100644 --- a/src/main/java/com/bbn/hadder/commands/Perm.java +++ b/src/main/java/com/bbn/hadder/commands/Perm.java @@ -56,7 +56,7 @@ public enum Perm { return event.getMember().hasPermission(Permission.NICKNAME_CHANGE); } }, - ADMIN_PERMISSIONS { + ADMINISTRATOR { @Override public boolean check(CommandEvent event) { return event.getMember().hasPermission(Permission.ADMINISTRATOR); From 860d035a633e79249e5b60320ec983745fd0e026 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Thu, 19 Dec 2019 19:30:51 +0100 Subject: [PATCH 06/17] Yeah Clyde Command --- src/main/java/com/bbn/hadder/Hadder.java | 1 + .../bbn/hadder/commands/fun/ClydeCommand.java | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index 62cf872..8863d07 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -87,6 +87,7 @@ public class Hadder { new RegionChangeCommand(), new AboutCommand(), new LanguageCommand(), + new ClydeCommand(), new StarBoardCommand()), config, helpCommand); builder.addEventListeners( diff --git a/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java b/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java new file mode 100644 index 0000000..455282b --- /dev/null +++ b/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java @@ -0,0 +1,34 @@ +package com.bbn.hadder.commands.fun; + +/* + * @author Skidder / GregTCLTK + */ + +import com.bbn.hadder.commands.Command; +import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.commands.Perm; +import com.bbn.hadder.commands.Perms; + +@Perms(Perm.MANAGE_SERVER) +public class ClydeCommand implements Command { + + @Override + public void executed(String[] args, CommandEvent event) { + + } + + @Override + public String[] labels() { + return new String[]{"clyde"}; + } + + @Override + public String description() { + return ""; + } + + @Override + public String usage() { + return ""; + } +} From e7afeacce7fbe86cb770680ff6a7fb812e5ba67e Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Thu, 19 Dec 2019 21:05:25 +0100 Subject: [PATCH 07/17] Top confidential Clyde command --- example-config.json | 3 +- .../bbn/hadder/commands/fun/ClydeCommand.java | 45 ++++++++++++++++++- src/main/java/com/bbn/hadder/core/Config.java | 5 +++ 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/example-config.json b/example-config.json index f201256..437ec97 100644 --- a/example-config.json +++ b/example-config.json @@ -20,5 +20,6 @@ "DiscordBotReviews": "", "DiscordBots": "", "BotListSpace": "" - } + }, + "Clyde": "" } diff --git a/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java b/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java index 455282b..b0af7bd 100644 --- a/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java +++ b/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java @@ -4,16 +4,59 @@ package com.bbn.hadder.commands.fun; * @author Skidder / GregTCLTK */ +import club.minnced.discord.webhook.WebhookClient; +import club.minnced.discord.webhook.WebhookClientBuilder; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.commands.Perm; import com.bbn.hadder.commands.Perms; +import com.bbn.hadder.utils.MessageEditor; +import net.dv8tion.jda.api.Permission; +import net.dv8tion.jda.api.entities.Icon; +import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.Webhook; + +import java.io.InputStream; +import java.net.URL; +import java.util.concurrent.TimeUnit; @Perms(Perm.MANAGE_SERVER) public class ClydeCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { + if (args.length > 0) { + if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_WEBHOOKS)) { + TextChannel channel = event.getMessage().getTextChannel(); + String content = event.getMessage().getContentRaw().replace(event.getRethink().getGuildPrefix(event.getGuild().getId()), "").replace(event.getRethink().getUserPrefix(event.getAuthor().getId()), "").replace("clyde", ""); + + Webhook webhook = channel.createWebhook(event.getConfig().getClydeName()).complete(); + try { + InputStream s = new URL("https://discordapp.com/assets/f78426a064bc9dd24847519259bc42af.png").openStream(); + webhook.getManager().setAvatar(Icon.from(s)).queue(); + + WebhookClientBuilder builder = new WebhookClientBuilder(webhook.getUrl()); + + WebhookClient client = builder.build(); + try { + TimeUnit.SECONDS.sleep(1); + } catch (InterruptedException e) { + e.printStackTrace(); + } + client.send(content); + } catch (Exception e) { + e.printStackTrace(); + } + try { + TimeUnit.SECONDS.sleep(2); + } catch (InterruptedException e) { + e.printStackTrace(); + } + webhook.delete().queue(); + } else { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); + } + } else event.getHelpCommand().sendHelp(this, event); } @@ -24,7 +67,7 @@ public class ClydeCommand implements Command { @Override public String description() { - return ""; + return "Send a message as a Clyde webhook."; } @Override diff --git a/src/main/java/com/bbn/hadder/core/Config.java b/src/main/java/com/bbn/hadder/core/Config.java index 7abbf78..fce590e 100644 --- a/src/main/java/com/bbn/hadder/core/Config.java +++ b/src/main/java/com/bbn/hadder/core/Config.java @@ -63,6 +63,7 @@ public class Config { .value("DiscordExtremeList").value(null) .value("DiscordBotReviews").value(null) .value("DiscordBots").value(null) + .value("BotListSpace").value(null) .endObject().endObject().toString(); } @@ -141,4 +142,8 @@ public class Config { public String getBotListSpaceToken() { return config.getJSONObject("Tokens").getString("BotListSpace"); } + + public String getClydeName() { + return config.getString("Clyde"); + } } From 08562562a5f8ab18198f0b5f1e7a06dd499a8f5a Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Thu, 19 Dec 2019 21:10:15 +0100 Subject: [PATCH 08/17] Perms stuff yk --- src/main/java/com/bbn/hadder/commands/Perm.java | 5 +++++ src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/bbn/hadder/commands/Perm.java b/src/main/java/com/bbn/hadder/commands/Perm.java index 75579d1..fae5da0 100644 --- a/src/main/java/com/bbn/hadder/commands/Perm.java +++ b/src/main/java/com/bbn/hadder/commands/Perm.java @@ -61,6 +61,11 @@ public enum Perm { public boolean check(CommandEvent event) { return event.getMember().hasPermission(Permission.ADMINISTRATOR); } + }, + MANAGE_WEBHOOKS { + @Override + public boolean check(CommandEvent event) { + return event.getMember().hasPermission(Permission.MANAGE_WEBHOOKS); } }; public abstract boolean check(CommandEvent event); diff --git a/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java b/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java index b0af7bd..f036625 100644 --- a/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java +++ b/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java @@ -20,7 +20,7 @@ import java.io.InputStream; import java.net.URL; import java.util.concurrent.TimeUnit; -@Perms(Perm.MANAGE_SERVER) +@Perms(Perm.MANAGE_WEBHOOKS) public class ClydeCommand implements Command { @Override From 5be162fd1a8e3d97b2d9fd235a0e8d2ca60cba26 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Fri, 20 Dec 2019 13:06:30 +0100 Subject: [PATCH 09/17] Clyde i18n --- src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java | 4 ++-- src/main/resources/Translations/Translations_en.properties | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java b/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java index f036625..0db6507 100644 --- a/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java +++ b/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java @@ -67,11 +67,11 @@ public class ClydeCommand implements Command { @Override public String description() { - return "Send a message as a Clyde webhook."; + return "commands.fun.clyde.help.description"; } @Override public String usage() { - return ""; + return "content"; } } diff --git a/src/main/resources/Translations/Translations_en.properties b/src/main/resources/Translations/Translations_en.properties index dfb232c..e9a7e23 100644 --- a/src/main/resources/Translations/Translations_en.properties +++ b/src/main/resources/Translations/Translations_en.properties @@ -13,6 +13,7 @@ vc-name/id = user+nickname = <@user> region = guildid = +content = error = Error none = None @@ -25,6 +26,7 @@ commands.fun.gif.help.description = Look for a GIF on Giphy commands.fun.meme.success.title = Your random meme commands.fun.meme.api.error = The request to the meme API could not be processed. Please try it again later. commands.fun.meme.help.description = Sends you a random meme. +commands.fun.clyde.help.description = Send a message as a webhook named Clyde. commands.general.about.success.title = Hadder - About commands.general.about.success.description = Hadder is an open source Discord bot. From d6e78b6a45d3de1209da779f52a1cd53d8fa74c6 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Fri, 20 Dec 2019 13:11:28 +0100 Subject: [PATCH 10/17] Prefix --- src/main/java/com/bbn/hadder/Hadder.java | 4 ++-- .../{GuildPrefixCommand.java => PrefixCommand.java} | 6 +++--- .../settings/{PrefixCommand.java => UserPrefixCommand.java} | 6 +++--- src/main/resources/Translations/Translations_en.properties | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) rename src/main/java/com/bbn/hadder/commands/moderation/{GuildPrefixCommand.java => PrefixCommand.java} (93%) rename src/main/java/com/bbn/hadder/commands/settings/{PrefixCommand.java => UserPrefixCommand.java} (89%) diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index 8863d07..f96792f 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -47,7 +47,7 @@ public class Hadder { helpCommand, new TestCommand(), new BanCommand(), - new PrefixCommand(), + new UserPrefixCommand(), new ShutdownCommand(), new KickCommand(), new PingCommand(), @@ -58,7 +58,7 @@ public class Hadder { new EqualsCommand(), new InviteCommand(), new NickCommand(), - new GuildPrefixCommand(), + new PrefixCommand(), new BlowjobCommand(), new PornCommand(), new AnalCommand(), diff --git a/src/main/java/com/bbn/hadder/commands/moderation/GuildPrefixCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/PrefixCommand.java similarity index 93% rename from src/main/java/com/bbn/hadder/commands/moderation/GuildPrefixCommand.java rename to src/main/java/com/bbn/hadder/commands/moderation/PrefixCommand.java index 35bfb2b..01a7d9a 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/GuildPrefixCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/PrefixCommand.java @@ -5,7 +5,7 @@ import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.Permission; -public class GuildPrefixCommand implements Command { +public class PrefixCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { @@ -38,7 +38,7 @@ public class GuildPrefixCommand implements Command { @Override public String[] labels() { - return new String[]{"guildprefix"}; + return new String[]{"prefix"}; } @Override @@ -48,6 +48,6 @@ public class GuildPrefixCommand implements Command { @Override public String usage() { - return "guildprefix"; + return "prefix"; } } diff --git a/src/main/java/com/bbn/hadder/commands/settings/PrefixCommand.java b/src/main/java/com/bbn/hadder/commands/settings/UserPrefixCommand.java similarity index 89% rename from src/main/java/com/bbn/hadder/commands/settings/PrefixCommand.java rename to src/main/java/com/bbn/hadder/commands/settings/UserPrefixCommand.java index 4bb58af..bf360fe 100644 --- a/src/main/java/com/bbn/hadder/commands/settings/PrefixCommand.java +++ b/src/main/java/com/bbn/hadder/commands/settings/UserPrefixCommand.java @@ -8,7 +8,7 @@ import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.utils.MessageEditor; -public class PrefixCommand implements Command { +public class UserPrefixCommand implements Command { public void executed(String[] args, CommandEvent event) { if (args.length == 1) { @@ -26,7 +26,7 @@ public class PrefixCommand implements Command { @Override public String[] labels() { - return new String[] { "prefix" }; + return new String[] { "userprefix" }; } @Override @@ -36,6 +36,6 @@ public class PrefixCommand implements Command { @Override public String usage() { - return "prefix"; + return "userprefix"; } } diff --git a/src/main/resources/Translations/Translations_en.properties b/src/main/resources/Translations/Translations_en.properties index e9a7e23..717588b 100644 --- a/src/main/resources/Translations/Translations_en.properties +++ b/src/main/resources/Translations/Translations_en.properties @@ -7,8 +7,8 @@ Hadder = Hadder searchterm = username = number = /all -guildprefix = prefix = +userprefix = vc-name/id = user+nickname = <@user> region = From 04716fbc0745fea707db5c928e3961d562dd2b22 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sat, 21 Dec 2019 01:05:29 +0100 Subject: [PATCH 11/17] yk --- .../java/com/bbn/hadder/commands/Perm.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/bbn/hadder/commands/Perm.java b/src/main/java/com/bbn/hadder/commands/Perm.java index fae5da0..e8b0a09 100644 --- a/src/main/java/com/bbn/hadder/commands/Perm.java +++ b/src/main/java/com/bbn/hadder/commands/Perm.java @@ -13,49 +13,49 @@ public enum Perm { public boolean check(CommandEvent event) { return event.getConfig().getOwners().contains(event.getAuthor().getIdLong()); } - }, + }, MANAGE_MESSAGES { @Override public boolean check(CommandEvent event) { return event.getMember().hasPermission(Permission.MESSAGE_MANAGE); } - }, + }, EMBED_MESSAGES { @Override public boolean check(CommandEvent event) { return event.getMember().hasPermission(Permission.MESSAGE_EMBED_LINKS); } - }, + }, BAN_MEMBERS { @Override public boolean check(CommandEvent event) { return event.getMember().hasPermission(Permission.BAN_MEMBERS); } - }, + }, KICK_MEMBERS { @Override public boolean check(CommandEvent event) { return event.getMember().hasPermission(Permission.KICK_MEMBERS); } - }, + }, MANAGE_SERVER { @Override public boolean check(CommandEvent event) { return event.getMember().hasPermission(Permission.MANAGE_SERVER); } - }, + }, MANAGE_ROLES { @Override public boolean check(CommandEvent event) { return event.getMember().hasPermission(Permission.MANAGE_ROLES); } - }, + }, CHANGE_NICKNAME { @Override public boolean check(CommandEvent event) { return event.getMember().hasPermission(Permission.NICKNAME_CHANGE); } - }, + }, ADMINISTRATOR { @Override public boolean check(CommandEvent event) { @@ -65,7 +65,8 @@ public enum Perm { MANAGE_WEBHOOKS { @Override public boolean check(CommandEvent event) { - return event.getMember().hasPermission(Permission.MANAGE_WEBHOOKS); } + return event.getMember().hasPermission(Permission.MANAGE_WEBHOOKS); + } }; public abstract boolean check(CommandEvent event); From 5a6316f296e08c8b693a61631f5731bdcfa0b0fe Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sat, 21 Dec 2019 01:07:16 +0100 Subject: [PATCH 12/17] 2 new badges --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 025df75..aeba086 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ Hadder Discord is a multi-purpose Discord bot with 100% uptime. [![Codacy Badge](https://api.codacy.com/project/badge/Grade/ddb8cb7ec85f467caa691c175e1f01b5)](https://www.codacy.com/gh/BigBotNetwork/Hadder?utm_source=github.com&utm_medium=referral&utm_content=BigBotNetwork/Hadder&utm_campaign=Badge_Grade) [![CodeFactor](https://www.codefactor.io/repository/github/bigbotnetwork/hadder/badge)](https://www.codefactor.io/repository/github/bigbotnetwork/hadder) [![Crowdin](https://badges.crowdin.net/e/bc0babde730eb3eada34778502a31b03/localized.svg)](https://bbn.crowdin.com/hadder) +[![GitHub issues](https://img.shields.io/github/issues/BigBotNetwork/Hadder)](https://github.com/BigBotNetwork/Hadder/issues) +[![GitHub license](https://img.shields.io/github/license/BigBotNetwork/Hadder)](https://github.com/BigBotNetwork/Hadder/blob/master/LICENSE) [![Discord Bots](https://top.gg/api/widget/637002314162372639.svg)](https://top.gg/bot/637002314162372639) From 3215af2ac303fffd5b0774ccf2cc022ce5e1b81f Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sat, 21 Dec 2019 12:03:30 +0100 Subject: [PATCH 13/17] Move --- .../java/com/bbn/hadder/commands/fun/ClydeCommand.java | 4 ++-- .../java/com/bbn/hadder/commands/owner/EvalCommand.java | 4 ++-- .../com/bbn/hadder/commands/owner/GuildLeaveCommand.java | 4 ++-- .../java/com/bbn/hadder/commands/owner/RebootCommand.java | 4 ++-- .../com/bbn/hadder/commands/owner/ShutdownCommand.java | 4 ++-- .../java/com/bbn/hadder/commands/owner/TestCommand.java | 4 ++-- src/main/java/com/bbn/hadder/core/CommandHandler.java | 2 -- src/main/java/com/bbn/hadder/{commands => core}/Perm.java | 7 ++++++- src/main/java/com/bbn/hadder/{commands => core}/Perms.java | 6 +++++- src/main/java/com/bbn/hadder/utils/MessageEditor.java | 2 +- 10 files changed, 24 insertions(+), 17 deletions(-) rename src/main/java/com/bbn/hadder/{commands => core}/Perm.java (94%) rename src/main/java/com/bbn/hadder/{commands => core}/Perms.java (77%) diff --git a/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java b/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java index 0db6507..135ff57 100644 --- a/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java +++ b/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java @@ -8,8 +8,8 @@ import club.minnced.discord.webhook.WebhookClient; import club.minnced.discord.webhook.WebhookClientBuilder; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; -import com.bbn.hadder.commands.Perm; -import com.bbn.hadder.commands.Perms; +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.Icon; diff --git a/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java b/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java index c44cbf2..ca5fac2 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java @@ -7,8 +7,8 @@ package com.bbn.hadder.commands.owner; import com.bbn.hadder.Hadder; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; -import com.bbn.hadder.commands.Perm; -import com.bbn.hadder.commands.Perms; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.MessageEditor; import javax.script.ScriptEngine; 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 b853dfc..a7ec8f7 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java @@ -6,8 +6,8 @@ package com.bbn.hadder.commands.owner; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; -import com.bbn.hadder.commands.Perm; -import com.bbn.hadder.commands.Perms; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.entities.Guild; diff --git a/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java b/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java index 2312a5d..35a2377 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java @@ -6,8 +6,8 @@ package com.bbn.hadder.commands.owner; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; -import com.bbn.hadder.commands.Perm; -import com.bbn.hadder.commands.Perms; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; @Perms(Perm.BOT_OWNER) public class RebootCommand implements Command { diff --git a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java index 56bac44..a002481 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java @@ -6,8 +6,8 @@ package com.bbn.hadder.commands.owner; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; -import com.bbn.hadder.commands.Perm; -import com.bbn.hadder.commands.Perms; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.MessageEditor; @Perms(Perm.BOT_OWNER) 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 0c550bf..44eba79 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java @@ -2,8 +2,8 @@ package com.bbn.hadder.commands.owner; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; -import com.bbn.hadder.commands.Perm; -import com.bbn.hadder.commands.Perms; +import com.bbn.hadder.core.Perm; +import com.bbn.hadder.core.Perms; import com.bbn.hadder.utils.MessageEditor.MessageType; /* diff --git a/src/main/java/com/bbn/hadder/core/CommandHandler.java b/src/main/java/com/bbn/hadder/core/CommandHandler.java index 1f1be07..a9d3692 100644 --- a/src/main/java/com/bbn/hadder/core/CommandHandler.java +++ b/src/main/java/com/bbn/hadder/core/CommandHandler.java @@ -3,8 +3,6 @@ package com.bbn.hadder.core; import com.bbn.hadder.Rethink; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; -import com.bbn.hadder.commands.Perm; -import com.bbn.hadder.commands.Perms; import com.bbn.hadder.commands.general.HelpCommand; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; diff --git a/src/main/java/com/bbn/hadder/commands/Perm.java b/src/main/java/com/bbn/hadder/core/Perm.java similarity index 94% rename from src/main/java/com/bbn/hadder/commands/Perm.java rename to src/main/java/com/bbn/hadder/core/Perm.java index e8b0a09..a49d3f1 100644 --- a/src/main/java/com/bbn/hadder/commands/Perm.java +++ b/src/main/java/com/bbn/hadder/core/Perm.java @@ -2,10 +2,15 @@ * @author Hax / Hax6775 / Schlauer_Hax */ -package com.bbn.hadder.commands; +package com.bbn.hadder.core; +import com.bbn.hadder.commands.CommandEvent; import net.dv8tion.jda.api.Permission; +/* + * @author Skidder / GregTCLTK + */ + public enum Perm { BOT_OWNER() { diff --git a/src/main/java/com/bbn/hadder/commands/Perms.java b/src/main/java/com/bbn/hadder/core/Perms.java similarity index 77% rename from src/main/java/com/bbn/hadder/commands/Perms.java rename to src/main/java/com/bbn/hadder/core/Perms.java index c834df4..32773d8 100644 --- a/src/main/java/com/bbn/hadder/commands/Perms.java +++ b/src/main/java/com/bbn/hadder/core/Perms.java @@ -2,11 +2,15 @@ * @author Hax / Hax6775 / Schlauer_Hax */ -package com.bbn.hadder.commands; +package com.bbn.hadder.core; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +/* + * @author Skidder / GregTCLTK + */ + @Retention(RetentionPolicy.RUNTIME) public @interface Perms { Perm[] value() default {}; diff --git a/src/main/java/com/bbn/hadder/utils/MessageEditor.java b/src/main/java/com/bbn/hadder/utils/MessageEditor.java index ec9c8fa..53574a2 100644 --- a/src/main/java/com/bbn/hadder/utils/MessageEditor.java +++ b/src/main/java/com/bbn/hadder/utils/MessageEditor.java @@ -47,7 +47,7 @@ public class MessageEditor { WARNING, INFO, NO_PERMISSION, - NO_SELF_PERMISSION, + NO_SELF_PERMISSION, NO_NSFW } From 29374518ff1a57d7ed2c90ca646b9114d5b3d52c Mon Sep 17 00:00:00 2001 From: Hax Date: Sat, 21 Dec 2019 15:02:59 +0100 Subject: [PATCH 14/17] Update MessageEditor.java --- src/main/java/com/bbn/hadder/utils/MessageEditor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/bbn/hadder/utils/MessageEditor.java b/src/main/java/com/bbn/hadder/utils/MessageEditor.java index 53574a2..2f22d85 100644 --- a/src/main/java/com/bbn/hadder/utils/MessageEditor.java +++ b/src/main/java/com/bbn/hadder/utils/MessageEditor.java @@ -35,7 +35,7 @@ public class MessageEditor { public EmbedBuilder getMessage(MessageType type, String title_language_string, String title_extra, String title_extra_two, String description_language_string, String description_extra, String description_extra_two) { - String language = rethink.getLanguage(this.user.getId()); + String language = (this.user!=null) ? rethink.getLanguage(this.user.getId()) : null; EmbedBuilder eb = this.getDefaultSettings(type); if (!title_language_string.equals("")) eb.setTitle(this.handle(language, title_language_string, title_extra, title_extra_two)); if (!description_language_string.equals("")) eb.setDescription(this.handle(language, description_language_string, description_extra, description_extra_two)); From 7a9c2172d8b71c84e9c3eff9bf0db50a9a43d2d7 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sat, 21 Dec 2019 16:32:21 +0100 Subject: [PATCH 15/17] Nothing special --- src/main/java/com/bbn/hadder/core/CommandHandler.java | 2 +- src/main/resources/Translations/Translations_en.properties | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/bbn/hadder/core/CommandHandler.java b/src/main/java/com/bbn/hadder/core/CommandHandler.java index a9d3692..a51e674 100644 --- a/src/main/java/com/bbn/hadder/core/CommandHandler.java +++ b/src/main/java/com/bbn/hadder/core/CommandHandler.java @@ -36,7 +36,7 @@ public class CommandHandler { CommandEvent commandEvent = new CommandEvent(event.getJDA(), event.getResponseNumber(), event.getMessage(), rethink, config, this, helpCommand, new MessageEditor(rethink, event.getAuthor())); if (cmd.getClass().getAnnotations().length>0) { - if (Arrays.asList(cmd.getClass().getAnnotations()).contains(Perms.class)) { + if (!Arrays.asList(cmd.getClass().getAnnotations()).contains(Perms.class)) { for (Perm perm : cmd.getClass().getAnnotation(Perms.class).value()) { if (!perm.check(commandEvent)) { commandEvent.getTextChannel() diff --git a/src/main/resources/Translations/Translations_en.properties b/src/main/resources/Translations/Translations_en.properties index 717588b..112f260 100644 --- a/src/main/resources/Translations/Translations_en.properties +++ b/src/main/resources/Translations/Translations_en.properties @@ -96,7 +96,7 @@ commands.moderation.clear.message.error.title = No messages! commands.moderation.clear.message.error.description = There are no messages in this channel. commands.moderation.clear.help.description = Deletes the specified number of messages. commands.moderation.prefix.success.title = %extra% Successfully set %extra% -commands.moderation.prefix.success.description = I successfully set the new prefix for the guild to %extra% +commands.moderation.prefix.success.description = I successfully set the new prefix for the guild to `%extra%`. commands.moderation.prefix.error.description = The prefix must not contain **"** commands.moderation.prefix.help.description = Sets the Guild-Prefix. commands.moderation.invitedetect.activate.success.title = Successfully activated @@ -214,9 +214,9 @@ commands.owner.test.success = TEST my friends commands.owner.test.help.description = Just a little Test Command commands.settings.language.success.title = Language set -commands.settings.language.success.description = %extra% is your new language now. +commands.settings.language.success.description = `%extra%` is your new language now. commands.settings.language.help.description = Sets the new primary language for a user. commands.settings.language.help.usage = commands.settings.prefix.success.title = %extra% Successfully set %extra% -commands.settings.prefix.success.description = I successfully set the new prefix for you to %extra%. +commands.settings.prefix.success.description = I successfully set the new prefix for you to `%extra%`. commands.settings.prefix.help.description = Sets a new Prefix From c88a8849ffe47c42cd160783ffb3e794dd16b387 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sat, 21 Dec 2019 16:33:45 +0100 Subject: [PATCH 16/17] Avatar Command fix --- src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java b/src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java index 8f3f420..e3c852d 100644 --- a/src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java +++ b/src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java @@ -19,7 +19,9 @@ public class AvatarCommand implements Command { event.getMessageEditor().getMessage( MessageEditor.MessageType.INFO, "commands.fun.avatar.success.title", - member.getUser().getAsTag()) + member.getUser().getAsTag(), + "", + "") .setImage(member.getUser().getAvatarUrl()) .setFooter(member.getUser().getAsTag()) .build()).queue(); From 81dedc87d7c84cdaf45b715968f402ae573fc007 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sat, 21 Dec 2019 17:44:34 +0100 Subject: [PATCH 17/17] 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