我有一个使用最新版本的JDA(4.2.0_168(在Java中开发的discord bot。
我的机器人中有一些事件,只有一个有效。
GuildMessageReceivedEvent
工作,但其他事件如GuildMemberJoinEvent
、GuildMemberRemoveEvent
和GuildMessageReactionRemoveEvent
不工作。
问题是在我更新版本之前,一切都正常。除了代码中的GuildMemberRemoveEvent
,我什么都没改,所以我不知道该怎么办。我试着阅读文档,但什么都没有。
首先,这不是JDA的最新版本。目前是4.2.0_212,您可以随时在Jenkins上找到最新消息。
你没有提到你使用的意图,所以我直接假设你没有正确使用意图。为了使这些事件正常工作,您需要启用GatewayIntent.GUILD_MEMBERS
。这在事件文档的要求部分进行了解释。
在您的JDABuilder或DefaultShardManagerBuilder上使用enableIntents(GatewayIntent.GUILD_MEMBERS)
。这将允许您使用这些事件。
如果您遇到任何其他问题,我建议您阅读故障排除指南。