I am fairly new to the Discord JDA API and I am stuck on this problem. Whenever I run this piece of code for a "purge" command the bot only shows the error1 message. Even when I accompany the !purge with a number like "!purge 23" the bot doesn't respond. What am I doing wrong? I have been stuck at this for ages đ. Any help will be appreciated!
public void onMessageReceived(MessageReceivedEvent event) {
String[] args = event.getMessage().getContentRaw().split("//s+");
if(args[0].equalsIgnoreCase(Bot.prefix + "purge")) {
if (args.length < 2) {
EmbedBuilder error1 = new EmbedBuilder();
error1.setColor(Color.RED);
error1.setTitle("❌ Specify # of messages to delete!");
error1.setDescription("Usage: " + Bot.prefix + "purge [# of messages]");
event.getChannel().sendTyping().queue();
event.getChannel().sendMessage(error1.build()).queue(m ->
m.delete().queueAfter(5, TimeUnit.SECONDS));
}
else if(Integer.parseInt(args[1]) > 100 && Integer.parseInt(args[1]) < 1) {
EmbedBuilder error2 = new EmbedBuilder();
error2.setColor(Color.RED);
error2.setTitle("❌ Only 1-100 messages can be deleted!");
error2.setDescription("Usage: " + Bot.prefix + "clear [1-100]");
event.getChannel().sendMessage(error2.build()).queue(m ->
m.delete().queueAfter(5, TimeUnit.SECONDS));
}
else if(Integer.parseInt(args[1]) < 100 && Integer.parseInt(args[1]) > 1){
int values = Integer.parseInt(args[1]);
event.getMessage().delete();
List<Message> messages = event.getChannel().getHistory().retrievePast(values).complete();
event.getTextChannel().deleteMessages(messages).queue();
event.getChannel().sendMessage("✅ " + args[1].toString() + " messages
deleted!").queue(m ->
m.delete().queueAfter(5, TimeUnit.SECONDS));
}
}
}
}
Aucun commentaire:
Enregistrer un commentaire