Clear Command improvements
This commit is contained in:
parent
93e93f8f05
commit
5009937fe2
3 changed files with 27 additions and 18 deletions
|
|
@ -22,25 +22,33 @@ 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)) {
|
||||||
try {
|
if (args[0].equals("all")) {
|
||||||
int nbToDelete = Integer.parseInt(args[0]);
|
event.getMessage().delete().queue();
|
||||||
if(nbToDelete < 1 || nbToDelete > 99) {
|
} else {
|
||||||
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<Message> history = event.getTextChannel().getHistory().retrievePast(nbToDelete +1).complete();
|
|
||||||
List<Message> 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();
|
|
||||||
try {
|
try {
|
||||||
TimeUnit.SECONDS.sleep(2);
|
int nbToDelete = Integer.parseInt(args[0]);
|
||||||
} catch (InterruptedException e) {
|
if (nbToDelete < 1 || nbToDelete > 99) {
|
||||||
e.printStackTrace();
|
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<Message> history = event.getTextChannel().getHistory().retrievePast(nbToDelete + 1).complete();
|
||||||
|
List<Message> 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 {
|
} 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();
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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%
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue