JDA 事件在更新版本后停止工作

JDA Events stopped working after updating version

我在 Java 中使用最新版本的 JDA (4.2.0_168) 开发了一个 discord 机器人。

我的机器人中有几个事件,但只有一个有效。

GuildMessageReceivedEvent 有效,但 GuildMemberJoinEventGuildMemberRemoveEventGuildMessageReactionRemoveEvent 等其他事件无效。

问题是在我更新版本之前一切正常。 除了代码中的 GuildMemberRemoveEvent 之外,我没有做任何更改,所以我不知道该怎么做。我试图阅读文档,但什么也没有。

首先,这不是 JDA 的最新版本。目前是 4.2.0_212,您可以随时在 Jenkins 上找到最新的。

你没有提到任何关于你使用的意图,所以我会离题并假设你没有正确使用意图。为了使这些事件起作用,您需要启用 GatewayIntent.GUILD_MEMBERS。这在事件 documentation.

requirements 部分进行了解释

在您的 JDABuilder 或 DefaultShardManagerBuilder 上使用 enableIntents(GatewayIntent.GUILD_MEMBERS)。这将允许您使用这些事件。

如果您遇到任何其他问题,我建议您阅读 troubleshooting guide