Clear Command improvements

This commit is contained in:
GregTCLTK 2019-12-14 11:55:14 +01:00
parent 93e93f8f05
commit 5009937fe2
No known key found for this signature in database
GPG key ID: A91BADE5C070FF67
3 changed files with 27 additions and 18 deletions

View file

@ -22,15 +22,16 @@ public class ClearCommand implements Command {
if (args.length > 0) { 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.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 (event.getGuild().getMemberById(event.getJDA().getSelfUser().getId()).hasPermission(Permission.MESSAGE_MANAGE)) {
if (args[0].equals("all")) {
event.getMessage().delete().queue();
} else {
try { try {
int nbToDelete = Integer.parseInt(args[0]); int nbToDelete = Integer.parseInt(args[0]);
if (nbToDelete < 1 || nbToDelete > 99) { 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(); 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; } else {
}
List<Message> history = event.getTextChannel().getHistory().retrievePast(nbToDelete + 1).complete(); List<Message> history = event.getTextChannel().getHistory().retrievePast(nbToDelete + 1).complete();
List<Message> msgToDelete = new ArrayList<>(); List<Message> msgToDelete = new ArrayList<>(history);
msgToDelete.addAll(history);
event.getTextChannel().deleteMessages(msgToDelete).queue(); 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(); 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 { try {
@ -39,8 +40,15 @@ public class ClearCommand implements Command {
e.printStackTrace(); e.printStackTrace();
} }
msg.delete().queue(); msg.delete().queue();
}
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
event.getHelpCommand().sendHelp(this, event); 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();
}
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();

View file

@ -41,7 +41,6 @@ public class EvalCommand implements Command {
engine.put("author", event.getAuthor()); engine.put("author", event.getAuthor());
engine.put("member", event.getMember()); engine.put("member", event.getMember());
engine.put("self", event.getGuild().getSelfMember()); engine.put("self", event.getGuild().getSelfMember());
engine.put("System.out", System.out);
ScheduledExecutorService service = Executors.newScheduledThreadPool(1); ScheduledExecutorService service = Executors.newScheduledThreadPool(1);

View file

@ -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.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.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.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.clear.help.description = Deletes the specified number of messages.
commands.moderation.prefix.success.title = %extra% Successfully set %extra% 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%