From 5009937fe287329ce4c8184b6b9d68c69bd7b445 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sat, 14 Dec 2019 11:55:14 +0100 Subject: [PATCH 1/3] Clear Command improvements --- .../commands/moderation/ClearCommand.java | 42 +++++++++++-------- .../hadder/commands/owner/EvalCommand.java | 1 - .../Translations/Translations_en.properties | 2 + 3 files changed, 27 insertions(+), 18 deletions(-) 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 d19ea55..a1f643e 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java @@ -22,25 +22,33 @@ public class ClearCommand implements Command { 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)) { - try { - int nbToDelete = Integer.parseInt(args[0]); - if(nbToDelete < 1 || nbToDelete > 99) { - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.clear.number.error.description")).build()).queue(); - return; - } - List history = event.getTextChannel().getHistory().retrievePast(nbToDelete +1).complete(); - List msgToDelete = new ArrayList<>(); - msgToDelete.addAll(history); - event.getTextChannel().deleteMessages(msgToDelete).queue(); - Message msg = event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.clear.success.description", String.valueOf(nbToDelete))).build()).complete(); + if (args[0].equals("all")) { + event.getMessage().delete().queue(); + } else { try { - TimeUnit.SECONDS.sleep(2); - } catch (InterruptedException e) { - e.printStackTrace(); + int nbToDelete = Integer.parseInt(args[0]); + if (nbToDelete < 1 || nbToDelete > 99) { + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "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(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "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(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) + .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.clear.message.error.title")) + .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.clear.message.error.description")) + .build()).queue(); } - msg.delete().queue(); - } catch (NumberFormatException e) { - event.getHelpCommand().sendHelp(this, event); } } else { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); 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 4824cca..1d79ac8 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java @@ -41,7 +41,6 @@ public class EvalCommand implements Command { engine.put("author", event.getAuthor()); engine.put("member", event.getMember()); engine.put("self", event.getGuild().getSelfMember()); - engine.put("System.out", System.out); ScheduledExecutorService service = Executors.newScheduledThreadPool(1); diff --git a/src/main/resources/Translations/Translations_en.properties b/src/main/resources/Translations/Translations_en.properties index dec548c..edb8cae 100644 --- a/src/main/resources/Translations/Translations_en.properties +++ b/src/main/resources/Translations/Translations_en.properties @@ -92,6 +92,8 @@ commands.moderation.ban.massban.success.description = I successfully baned %extr commands.moderation.ban.help.description = Bans one ore more user from the server commands.moderation.clear.number.error.description = You have to choose a number between 1 and 99! commands.moderation.clear.success.description = Successfully deleted %extra% messages. +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% From fe3c0aee7788feeda1d96ad58eb6e7f8c6f2e8a4 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sat, 14 Dec 2019 12:06:46 +0100 Subject: [PATCH 2/3] Rules Command fix --- .../java/com/bbn/hadder/commands/moderation/RulesCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 5f08a8d..3054102 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java @@ -61,7 +61,7 @@ public class RulesCommand implements Command { if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) { event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.rules.rules.title")) - .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.rules.rules.title", channel.getName())) + .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.rules.rules.description", channel.getName())) .build()).queue(); new EventWaiter().newOnMessageEventWaiter(event2 -> { String message = event2.getMessage().getContentRaw(); From f8e438d295cfd03b1f57af799d3695e275d98dca Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sat, 14 Dec 2019 13:03:01 +0100 Subject: [PATCH 3/3] Clear All --- .../hadder/commands/moderation/ClearCommand.java | 15 ++++++++++++++- .../Translations/Translations_en.properties | 4 +++- 2 files changed, 17 insertions(+), 2 deletions(-) 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 a1f643e..98e0599 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java @@ -23,7 +23,20 @@ public class ClearCommand implements Command { 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")) { - event.getMessage().delete().queue(); + List msg = event.getTextChannel().getIterableHistory().complete(); + for (Message message : msg) { + message.delete().queue(); + } + Message message = event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) + .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.lear.all.success.title")) + .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.lear.all.success.description", String.valueOf(msg.size()))) + .build()).complete(); + try { + TimeUnit.SECONDS.sleep(2); + } catch (InterruptedException e) { + e.printStackTrace(); + } + message.delete().queue(); } else { try { int nbToDelete = Integer.parseInt(args[0]); diff --git a/src/main/resources/Translations/Translations_en.properties b/src/main/resources/Translations/Translations_en.properties index edb8cae..16ae60d 100644 --- a/src/main/resources/Translations/Translations_en.properties +++ b/src/main/resources/Translations/Translations_en.properties @@ -10,7 +10,7 @@ Hadder = Hadder searchterm = username = -number = +number = /all guildprefix = prefix = vc-name/id = @@ -90,6 +90,8 @@ commands.moderation.ban.myself.error.description = I can not ban myself! commands.moderation.ban.yourself.error.description = You can not ban yourself! commands.moderation.ban.massban.success.description = I successfully baned %extra% Members! commands.moderation.ban.help.description = Bans one ore more user from the server +commands.moderation.lear.all.success.title = Successfully deleted +commands.moderation.lear.all.success.description = I successfully deleted %extra% messages. commands.moderation.clear.number.error.description = You have to choose a number between 1 and 99! commands.moderation.clear.success.description = Successfully deleted %extra% messages. commands.moderation.clear.message.error.title = No messages!