【发布时间】:2019-10-25 09:48:52
【问题描述】:
我尝试发出清除命令,删除用户在不和谐频道中想要的消息量。但是,它没有成功。
public void onGuildReceived(GuildMessageReceivedEvent event) {
Message objMsg = event.getMessage();
String[] args = objMsg.getContentRaw().split("");
if(args[0].equalsIgnoreCase(Ref.prefix + "purge")) {
if(args.length <= 2) {
//TODO
}else {
event.getMessage().delete().queue();
TextChannel target = event.getMessage().getMentionedChannels().get(0);
purgeMessages(target, Integer.parseInt(args[2]));
}
}
}
private void purgeMessages(TextChannel channel, int numberofMessages) {
MessageHistory history = new MessageHistory(channel);
List<Message> msgs;
msgs = history.retrievePast(numberofMessages).complete();
channel.deleteMessages(msgs).queue();
}
我预计机器人会删除指定数量的消息。但是,它没有任何反应。我已经将这种 if 语句的方法用于其他命令,例如检查您的 ping,因此很可能与删除消息有关。
【问题讨论】:
-
不应该是
split(" ")而不是split("")吗? -
该方法可能应该从
ListenerAdapter覆盖onGuildMessageReceived。您的方法名称似乎有误。
标签: java discord discord-jda