我试图在Java中编写一个简单的不和谐的机器人,每当它检测到存储在文本文件中的关键字时就会做出响应。在连接到不和谐之前,我将文本文件加载到ArrayList中,当我收到不和谐消息时,我会将消息字符串转换为数组,并使用retainAll()测试公共元素,但是当我运行程序时,什么都不会发生。这是我的密码。
Keywords keywords = new Keywords();
ArrayList<String> keywordList = keywords.getKeywords();
final DiscordClient client = DiscordClient.create("TOKEN");
final GatewayDiscordClient gateway = client.login().block();
gateway.on(MessageCreateEvent.class).subscribe(event -> {
final Message message = event.getMessage();
boolean commonElements = keywordList.retainAll(Arrays.asList(message.getContent().split("\\s+")));
if (commonElements) {
final MessageChannel channel = message.getChannel().block();
channel.createMessage("Based.").block();
}
});
gateway.onDisconnect().block();任何指向正确方向的指示都将不胜感激,谢谢。
发布于 2021-05-13 00:05:54
我最终成功地解决了这个问题,使用Collections.disjoint()来比较这两个数组。
https://stackoverflow.com/questions/67488835
复制相似问题