Greg dev #208

Merged
greg6775 merged 3 commits from greg-dev into master 2019-12-14 13:05:33 +01:00
4 changed files with 40 additions and 16 deletions

View file

@ -22,25 +22,46 @@ 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;
if (args[0].equals("all")) {
List<Message> msg = event.getTextChannel().getIterableHistory().complete();
for (Message message : msg) {
message.delete().queue();
}
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();
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();
}
msg.delete().queue();
} catch (NumberFormatException e) {
event.getHelpCommand().sendHelp(this, event);
message.delete().queue();
} else {
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();
} 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();
}
}
} else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();

View file

@ -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();

View file

@ -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);

View file

@ -10,7 +10,7 @@ Hadder = Hadder
searchterm = <SearchTerm>
username = <Username>
number = <Number>
number = <Number>/all
guildprefix = <New Guild-Prefix>
prefix = <New Prefix>
vc-name/id = <VoiceChannelID|VoiceChannelName>
@ -90,8 +90,12 @@ 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!
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%