From 31b1d96a842f7e98c4f531bde5c8f5a8ecfd8e32 Mon Sep 17 00:00:00 2001 From: Hax Date: Wed, 1 Jan 2020 15:53:05 +0100 Subject: [PATCH 1/3] BlacklistCommand be like --- src/main/java/com/bbn/hadder/Hadder.java | 3 +- src/main/java/com/bbn/hadder/Rethink.java | 10 +- .../commands/owner/BlackListCommand.java | 107 ++++++++++++++++++ .../com/bbn/hadder/core/CommandHandler.java | 12 +- 4 files changed, 129 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/bbn/hadder/commands/owner/BlackListCommand.java diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index d98da1a..074bf70 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -98,7 +98,8 @@ public class Hadder { new SkipCommand(), new EditRulesCommand(), new VolumeCommand(), - new StopCommand()), config, helpCommand); + new StopCommand(), + new BlackListCommand()), config, helpCommand); builder.addEventListeners( new MentionListener(rethink), diff --git a/src/main/java/com/bbn/hadder/Rethink.java b/src/main/java/com/bbn/hadder/Rethink.java index 5e99d76..436298a 100644 --- a/src/main/java/com/bbn/hadder/Rethink.java +++ b/src/main/java/com/bbn/hadder/Rethink.java @@ -133,7 +133,15 @@ public class Rethink { } public void insertUser(String id) { - this.insert("user", r.hashMap("id", id).with("prefix", "h.").with("language", "en")); + this.insert("user", r.hashMap("id", id).with("prefix", "h.").with("language", "en").with("blacklisted", "none")); + } + + public void setBlackListed(String id, String commands) { + this.update("user", id, "blacklisted", commands); + } + + public String getBlackListed(String id) { + return (String) this.get("user", "id", id, "blacklisted"); } public void setNeededstars(String stars, String guild_id) { diff --git a/src/main/java/com/bbn/hadder/commands/owner/BlackListCommand.java b/src/main/java/com/bbn/hadder/commands/owner/BlackListCommand.java new file mode 100644 index 0000000..bb9040a --- /dev/null +++ b/src/main/java/com/bbn/hadder/commands/owner/BlackListCommand.java @@ -0,0 +1,107 @@ +/* + * @author Hax / Hax6775 / Schlauer_Hax + */ + +package com.bbn.hadder.commands.owner; + +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.EmbedBuilder; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.User; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedHashSet; +import java.util.List; + +@Perms(Perm.BOT_OWNER) +public class BlackListCommand implements Command { + + @Override + public void executed(String[] args, CommandEvent event) { + if (args.length == 0) { + event.getHelpCommand().sendHelp(this, event); + } else { + switch (args[0].toLowerCase()) { + case "add": + if (args.length == 3) { + Member member = event.getMessage().getMentionedMembers().get(0); + String blacklisted = event.getRethink().getBlackListed(member.getId()); + List commands = new ArrayList<>(); + if (!blacklisted.equals("none")) commands.addAll(Arrays.asList(blacklisted.split(","))); + commands.addAll(Arrays.asList(args[1].split(","))); + LinkedHashSet hashSet = new LinkedHashSet<>(commands); + + ArrayList commandsWithoutDuplicates = new ArrayList<>(hashSet); + String newblacklisted = ((commandsWithoutDuplicates.size()!=0) ? String.join(",", commandsWithoutDuplicates) : "none"); + event.getRethink().setBlackListed(member.getId(), newblacklisted); + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) + .setTitle("Removed Blacklisted Commands from User") + .setDescription("Blacklisted commands: "+newblacklisted) + .build()).queue(); + } + break; + case "remove": + if (args.length == 3) { + Member member = event.getMessage().getMentionedMembers().get(0); + String blacklisted = event.getRethink().getBlackListed(member.getId()); + List commands = new ArrayList<>(); + if (!blacklisted.equals("none")) commands.addAll(Arrays.asList(blacklisted.split(","))); + commands.removeAll(Arrays.asList(args[1].split(","))); + LinkedHashSet hashSet = new LinkedHashSet<>(commands); + + ArrayList commandsWithoutDuplicates = new ArrayList<>(hashSet); + String newblacklisted = ((commandsWithoutDuplicates.size()!=0) ? String.join(",", commandsWithoutDuplicates) : "none"); + event.getRethink().setBlackListed(member.getId(), newblacklisted); + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) + .setTitle("Removed Blacklisted Commands from User") + .setDescription("Blacklisted commands: "+newblacklisted) + .build()).queue(); + } + break; + case "list": + StringBuilder stringBuilder = new StringBuilder(); + for (User user : event.getJDA().getUsers()) { + if (!user.getId().equals(event.getJDA().getSelfUser().getId())) { + String blacklisted = event.getRethink().getBlackListed(user.getId()); + if (!blacklisted.equals("none")) { + stringBuilder.append(user.getAsTag() + " (" + user.getId() + ") - " + blacklisted + "\n"); + } + } + } + event.getTextChannel().sendMessage( + event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) + .setTitle("Blacklisted Users:") + .setDescription((stringBuilder.length()!=0) ? ("``" + stringBuilder.toString() + "``") : "No blacklisted Users") + .build()).queue(); + break; + } + } + } + + @Override + public String[] labels() { + return new String[]{"blacklist"}; + } + + @Override + public String description() { + return null; + } + + @Override + public String usage() { + return "add|remove|list Commands @Skidder#6775"; + } + + @Override + public String example() { + return null; + } +} diff --git a/src/main/java/com/bbn/hadder/core/CommandHandler.java b/src/main/java/com/bbn/hadder/core/CommandHandler.java index 8734539..0a575df 100644 --- a/src/main/java/com/bbn/hadder/core/CommandHandler.java +++ b/src/main/java/com/bbn/hadder/core/CommandHandler.java @@ -48,7 +48,17 @@ public class CommandHandler { } } - cmd.executed(args, commandEvent); + boolean run = true; + String blacklisted = rethink.getBlackListed(event.getAuthor().getId()); + if (!blacklisted.equals("none")) { + for (String blacklistedlabel : blacklisted.split(",")) { + if (Arrays.asList(cmd.labels()).contains(blacklistedlabel)) { + run = false; + } + } + } + if (run) + cmd.executed(args, commandEvent); return; } } From 51b3e76fb83c266331c6146de8f8062c332de96e Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Wed, 1 Jan 2020 16:37:58 +0100 Subject: [PATCH 2/3] New bot list --- src/main/java/com/bbn/hadder/Hadder.java | 2 +- src/main/java/com/bbn/hadder/Rethink.java | 4 ++-- ...ckListCommand.java => BlacklistCommand.java} | 15 +++++++-------- src/main/java/com/bbn/hadder/core/Config.java | 4 ++++ src/main/java/com/bbn/hadder/utils/BotList.java | 17 +++++++++++++++++ .../Translations/Translations_en.properties | 1 + 6 files changed, 32 insertions(+), 11 deletions(-) rename src/main/java/com/bbn/hadder/commands/owner/{BlackListCommand.java => BlacklistCommand.java} (94%) diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index 074bf70..fb55b0d 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -99,7 +99,7 @@ public class Hadder { new EditRulesCommand(), new VolumeCommand(), new StopCommand(), - new BlackListCommand()), config, helpCommand); + new BlacklistCommand()), config, helpCommand); builder.addEventListeners( new MentionListener(rethink), diff --git a/src/main/java/com/bbn/hadder/Rethink.java b/src/main/java/com/bbn/hadder/Rethink.java index 436298a..3d84e6a 100644 --- a/src/main/java/com/bbn/hadder/Rethink.java +++ b/src/main/java/com/bbn/hadder/Rethink.java @@ -164,8 +164,8 @@ public class Rethink { return !this.get("server", "id", guild_id, "starboard").equals(""); } - public void insertStarboardMessage(String message_id, String guild_id, String starboardmessageid) { - this.insert("stars", r.hashMap("id", message_id).with("guild", guild_id).with("starboardmsg", starboardmessageid)); + public void insertStarboardMessage(String message_id, String guild_id, String starboard_message_id) { + this.insert("stars", r.hashMap("id", message_id).with("guild", guild_id).with("starboardmsg", starboard_message_id)); } public String getStarboardMessage(String message_id) { diff --git a/src/main/java/com/bbn/hadder/commands/owner/BlackListCommand.java b/src/main/java/com/bbn/hadder/commands/owner/BlacklistCommand.java similarity index 94% rename from src/main/java/com/bbn/hadder/commands/owner/BlackListCommand.java rename to src/main/java/com/bbn/hadder/commands/owner/BlacklistCommand.java index bb9040a..1741edf 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/BlackListCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/BlacklistCommand.java @@ -1,15 +1,14 @@ +package com.bbn.hadder.commands.owner; + /* * @author Hax / Hax6775 / Schlauer_Hax */ -package com.bbn.hadder.commands.owner; - 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.EmbedBuilder; import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.User; @@ -19,7 +18,7 @@ import java.util.LinkedHashSet; import java.util.List; @Perms(Perm.BOT_OWNER) -public class BlackListCommand implements Command { +public class BlacklistCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { @@ -71,7 +70,7 @@ public class BlackListCommand implements Command { if (!user.getId().equals(event.getJDA().getSelfUser().getId())) { String blacklisted = event.getRethink().getBlackListed(user.getId()); if (!blacklisted.equals("none")) { - stringBuilder.append(user.getAsTag() + " (" + user.getId() + ") - " + blacklisted + "\n"); + stringBuilder.append(user.getAsTag()).append(" (").append(user.getId()).append(") - ").append(blacklisted).append("\n"); } } } @@ -92,16 +91,16 @@ public class BlackListCommand implements Command { @Override public String description() { - return null; + return "commands.owner.blacklist.help.description"; } @Override public String usage() { - return "add|remove|list Commands @Skidder#6775"; + return "add|remove|list command @User"; } @Override public String example() { - return null; + return "add porn @Skidder"; } } diff --git a/src/main/java/com/bbn/hadder/core/Config.java b/src/main/java/com/bbn/hadder/core/Config.java index fce590e..6123713 100644 --- a/src/main/java/com/bbn/hadder/core/Config.java +++ b/src/main/java/com/bbn/hadder/core/Config.java @@ -143,6 +143,10 @@ public class Config { return config.getJSONObject("Tokens").getString("BotListSpace"); } + public String getDiscordBots2Token() { + return config.getJSONObject("Tokens").getString("DiscordBots2"); + } + public String getClydeName() { return config.getString("Clyde"); } diff --git a/src/main/java/com/bbn/hadder/utils/BotList.java b/src/main/java/com/bbn/hadder/utils/BotList.java index 6516d13..462f823 100644 --- a/src/main/java/com/bbn/hadder/utils/BotList.java +++ b/src/main/java/com/bbn/hadder/utils/BotList.java @@ -28,6 +28,7 @@ public class BotList { private static String DiscordBotReviews = "https://discordbotreviews.xyz/api/bot/637002314162372639/stats"; private static String DiscordBots = "https://top.gg/api/bots/637002314162372639/stats"; private static String BotListSpace = "https://api.botlist.space/v1/bots/637002314162372639"; + private static String DiscordBots2 = "https://discord.bots.gg/api/v1/bots/637002314162372639/stats"; private Config config; @@ -43,6 +44,7 @@ public class BotList { json.put("guilds", Hadder.shardManager.getGuilds().size()); json.put("users", Hadder.shardManager.getUsers().size()); json.put("shard_count", Hadder.shardManager.getShards().size()); + json.put("shardCount", Hadder.shardManager.getShards().size()); RequestBody body = RequestBody.create(MediaType.parse("application/json"), json.toString()); @@ -195,6 +197,21 @@ public class BotList { } catch (IOException e) { e.printStackTrace(); } + + // Discord Bots 2 + + Request discordbots2 = new Request.Builder() + .url(DiscordBots2) + .post(body) + .addHeader("Authorization", config.getDiscordBots2Token()) + .build(); + + try { + new OkHttpClient().newCall(discordbots2).execute().close(); + System.out.println("Successfully posted count to discord.bots.gg!"); + } catch (IOException e) { + e.printStackTrace(); + } } } } diff --git a/src/main/resources/Translations/Translations_en.properties b/src/main/resources/Translations/Translations_en.properties index 7cfb99e..86a4022 100644 --- a/src/main/resources/Translations/Translations_en.properties +++ b/src/main/resources/Translations/Translations_en.properties @@ -247,6 +247,7 @@ commands.owner.shutdown.success.title = Shutdown commands.owner.shutdown.help.description = Shuts the Bot down commands.owner.test.success = TEST my friends commands.owner.test.help.description = Just a little Test Command +commands.owner.blacklist.help.description = Blacklist a user for specific commands commands.settings.language.success.title = Language set commands.settings.language.success.description = `%extra%` is your new language now. From cce973037818bf599453e3920127db5d77ac7ede Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Wed, 1 Jan 2020 16:49:08 +0100 Subject: [PATCH 3/3] Some code improvements again --- example-config.json | 3 ++- src/main/java/com/bbn/hadder/Hadder.java | 2 +- src/main/java/com/bbn/hadder/Rethink.java | 4 ++-- .../{StarBoardCommand.java => StarboardCommand.java} | 4 ++-- .../bbn/hadder/commands/owner/BlacklistCommand.java | 12 +++++++++--- .../java/com/bbn/hadder/core/CommandHandler.java | 2 +- .../com/bbn/hadder/listener/StarboardListener.java | 4 ++-- .../java/com/bbn/hadder/utils/MessageEditor.java | 4 ++-- 8 files changed, 21 insertions(+), 14 deletions(-) rename src/main/java/com/bbn/hadder/commands/moderation/{StarBoardCommand.java => StarboardCommand.java} (93%) diff --git a/example-config.json b/example-config.json index 437ec97..f787317 100644 --- a/example-config.json +++ b/example-config.json @@ -19,7 +19,8 @@ "DiscordExtremeList": "", "DiscordBotReviews": "", "DiscordBots": "", - "BotListSpace": "" + "BotListSpace": "", + "DiscordBots2": "" }, "Clyde": "" } diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index fb55b0d..85ca64f 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -92,7 +92,7 @@ public class Hadder { new LanguageCommand(), new ClydeCommand(), new PlayCommand(), - new StarBoardCommand(), + new StarboardCommand(), new QueueCommand(), new InfoCommand(), new SkipCommand(), diff --git a/src/main/java/com/bbn/hadder/Rethink.java b/src/main/java/com/bbn/hadder/Rethink.java index 3d84e6a..3bf91a3 100644 --- a/src/main/java/com/bbn/hadder/Rethink.java +++ b/src/main/java/com/bbn/hadder/Rethink.java @@ -144,11 +144,11 @@ public class Rethink { return (String) this.get("user", "id", id, "blacklisted"); } - public void setNeededstars(String stars, String guild_id) { + public void setNeededStars(String stars, String guild_id) { this.update("server", guild_id, "neededstars", stars); } - public String getNeededstars(String guild_id) { + public String getNeededStars(String guild_id) { return (String) this.get("server", "id", guild_id, "neededstars"); } diff --git a/src/main/java/com/bbn/hadder/commands/moderation/StarBoardCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/StarboardCommand.java similarity index 93% rename from src/main/java/com/bbn/hadder/commands/moderation/StarBoardCommand.java rename to src/main/java/com/bbn/hadder/commands/moderation/StarboardCommand.java index 80d926c..080cd79 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/StarBoardCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/StarboardCommand.java @@ -5,7 +5,7 @@ import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.entities.TextChannel; -public class StarBoardCommand implements Command { +public class StarboardCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { @@ -29,7 +29,7 @@ public class StarBoardCommand implements Command { } if (args.length==2) { - event.getRethink().setNeededstars(args[1], event.getGuild().getId()); + event.getRethink().setNeededStars(args[1], event.getGuild().getId()); } } diff --git a/src/main/java/com/bbn/hadder/commands/owner/BlacklistCommand.java b/src/main/java/com/bbn/hadder/commands/owner/BlacklistCommand.java index 1741edf..61572c7 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/BlacklistCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/BlacklistCommand.java @@ -31,7 +31,7 @@ public class BlacklistCommand implements Command { Member member = event.getMessage().getMentionedMembers().get(0); String blacklisted = event.getRethink().getBlackListed(member.getId()); List commands = new ArrayList<>(); - if (!blacklisted.equals("none")) commands.addAll(Arrays.asList(blacklisted.split(","))); + if (!"none".equals(blacklisted)) commands.addAll(Arrays.asList(blacklisted.split(","))); commands.addAll(Arrays.asList(args[1].split(","))); LinkedHashSet hashSet = new LinkedHashSet<>(commands); @@ -45,12 +45,13 @@ public class BlacklistCommand implements Command { .build()).queue(); } break; + case "remove": if (args.length == 3) { Member member = event.getMessage().getMentionedMembers().get(0); String blacklisted = event.getRethink().getBlackListed(member.getId()); List commands = new ArrayList<>(); - if (!blacklisted.equals("none")) commands.addAll(Arrays.asList(blacklisted.split(","))); + if (!"none".equals(blacklisted)) commands.addAll(Arrays.asList(blacklisted.split(","))); commands.removeAll(Arrays.asList(args[1].split(","))); LinkedHashSet hashSet = new LinkedHashSet<>(commands); @@ -64,6 +65,7 @@ public class BlacklistCommand implements Command { .build()).queue(); } break; + case "list": StringBuilder stringBuilder = new StringBuilder(); for (User user : event.getJDA().getUsers()) { @@ -80,6 +82,10 @@ public class BlacklistCommand implements Command { .setDescription((stringBuilder.length()!=0) ? ("``" + stringBuilder.toString() + "``") : "No blacklisted Users") .build()).queue(); break; + + default: + event.getHelpCommand().sendHelp(this, event); + break; } } } @@ -101,6 +107,6 @@ public class BlacklistCommand implements Command { @Override public String example() { - return "add porn @Skidder"; + return "add solo @Skidder"; } } diff --git a/src/main/java/com/bbn/hadder/core/CommandHandler.java b/src/main/java/com/bbn/hadder/core/CommandHandler.java index 0a575df..775ad94 100644 --- a/src/main/java/com/bbn/hadder/core/CommandHandler.java +++ b/src/main/java/com/bbn/hadder/core/CommandHandler.java @@ -50,7 +50,7 @@ public class CommandHandler { boolean run = true; String blacklisted = rethink.getBlackListed(event.getAuthor().getId()); - if (!blacklisted.equals("none")) { + if (!"none".equals(blacklisted)) { for (String blacklistedlabel : blacklisted.split(",")) { if (Arrays.asList(cmd.labels()).contains(blacklistedlabel)) { run = false; diff --git a/src/main/java/com/bbn/hadder/listener/StarboardListener.java b/src/main/java/com/bbn/hadder/listener/StarboardListener.java index 8bdf694..38c5c52 100644 --- a/src/main/java/com/bbn/hadder/listener/StarboardListener.java +++ b/src/main/java/com/bbn/hadder/listener/StarboardListener.java @@ -43,7 +43,7 @@ public class StarboardListener extends ListenerAdapter { } } - if (Integer.parseInt(rethink.getNeededstars(event.getGuild().getId())) <= stars) { + if (Integer.parseInt(rethink.getNeededStars(event.getGuild().getId())) <= stars) { event.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId())) .sendMessage(new MessageBuilder() .setContent("⭐ 1" + " " + event.getTextChannel().getAsMention()) @@ -77,7 +77,7 @@ public class StarboardListener extends ListenerAdapter { .retrieveMessageById(rethink.getStarboardMessage(event.getMessageId())).queue( msg2 -> { - if (Integer.parseInt(rethink.getNeededstars(event.getGuild().getId())) <= finalStars) { + if (Integer.parseInt(rethink.getNeededStars(event.getGuild().getId())) <= finalStars) { msg2.editMessage(new MessageBuilder() .setContent("⭐ " + finalStars + " " + event.getTextChannel().getAsMention()) .setEmbed( diff --git a/src/main/java/com/bbn/hadder/utils/MessageEditor.java b/src/main/java/com/bbn/hadder/utils/MessageEditor.java index 1d39039..4e923ee 100644 --- a/src/main/java/com/bbn/hadder/utils/MessageEditor.java +++ b/src/main/java/com/bbn/hadder/utils/MessageEditor.java @@ -36,8 +36,8 @@ public class MessageEditor { String description, String description_extra, String description_extra_two) { String language = (this.user!=null) ? rethink.getLanguage(this.user.getId()) : null; EmbedBuilder eb = this.getDefaultSettings(type); - if (!title.equals("")) eb.setTitle(this.handle(language, title, title_extra, title_extra_two)); - if (!description.equals("")) eb.setDescription(this.handle(language, description, description_extra, description_extra_two)); + if (!"".equals(title)) eb.setTitle(this.handle(language, title, title_extra, title_extra_two)); + if (!"".equals(description)) eb.setDescription(this.handle(language, description, description_extra, description_extra_two)); return eb; }