eventwaier不';t工作-Java Discord API
当有人用下面的代码向特定消息添加反应时,我试图创建一个EventWater,但它似乎不起作用。我已经试着修复每一件可能出错的事情, 然而,什么也没有发生。 控制台上没有显示错误,似乎EventWater不侦听MessageReactionAdd类eventwaier不';t工作-Java Discord API,java,discord,discord-jda,Java,Discord,Discord Jda,当有人用下面的代码向特定消息添加反应时,我试图创建一个EventWater,但它似乎不起作用。我已经试着修复每一件可能出错的事情, 然而,什么也没有发生。 控制台上没有显示错误,似乎EventWater不侦听MessageReactionAdd类 private static final String EMOTE = "\uD83D\uDE39"; // send a message to Dm and starts the method event.replyInDm(&
private static final String EMOTE = "\uD83D\uDE39";
// send a message to Dm and starts the method
event.replyInDm("message", (message - > {
message.addReaction("\uD83D\uDD27").queue();
initWaiter(message.getIdLong(), channel);
}));
private void initWaiter(long messageId, PrivateChannel channel) {
// waiting for a specific reaction (EMOTE) in a message with the same id as the message above
waiter.waitForEvent(
MessageReactionAddEvent.class,
(e) - > {
MessageReaction.ReactionEmote emote = e.getReactionEmote();
assert user != null;
return e.getMessageIdLong() == messageId && EMOTE.equals(emote.getName()) && !emote.isEmote() && !user.isBot();
},
(e) - > {
// if the code above is true, this should happen, but it doesn't
assert channel != null;
channel.sendMessage("message").queue();
}
);
确保将EventWater添加为JDABuilder中的侦听器:
jdabilder.createDefault(“令牌”,意图)
.addEventListeners(…,服务员)
...
如果您将服务生注册为侦听器,您可能会丢失所需的直接消息\u REACTIONS intent,假设您正在运行最新版本的jda嗯,我已经将EventWater设置为侦听器和intent,但仍然没有发生任何事情