JDA 事件在更新版本后停止工作
JDA Events stopped working after updating version
我在 Java 中使用最新版本的 JDA (4.2.0_168) 开发了一个 discord 机器人。
我的机器人中有几个事件,但只有一个有效。
GuildMessageReceivedEvent
有效,但 GuildMemberJoinEvent
、GuildMemberRemoveEvent
和 GuildMessageReactionRemoveEvent
等其他事件无效。
问题是在我更新版本之前一切正常。
除了代码中的 GuildMemberRemoveEvent
之外,我没有做任何更改,所以我不知道该怎么做。我试图阅读文档,但什么也没有。
首先,这不是 JDA 的最新版本。目前是 4.2.0_212,您可以随时在 Jenkins 上找到最新的。
你没有提到任何关于你使用的意图,所以我会离题并假设你没有正确使用意图。为了使这些事件起作用,您需要启用 GatewayIntent.GUILD_MEMBERS
。这在事件 documentation.
的 requirements 部分进行了解释
在您的 JDABuilder 或 DefaultShardManagerBuilder 上使用 enableIntents(GatewayIntent.GUILD_MEMBERS)
。这将允许您使用这些事件。
如果您遇到任何其他问题,我建议您阅读 troubleshooting guide。
我在 Java 中使用最新版本的 JDA (4.2.0_168) 开发了一个 discord 机器人。
我的机器人中有几个事件,但只有一个有效。
GuildMessageReceivedEvent
有效,但 GuildMemberJoinEvent
、GuildMemberRemoveEvent
和 GuildMessageReactionRemoveEvent
等其他事件无效。
问题是在我更新版本之前一切正常。
除了代码中的 GuildMemberRemoveEvent
之外,我没有做任何更改,所以我不知道该怎么做。我试图阅读文档,但什么也没有。
首先,这不是 JDA 的最新版本。目前是 4.2.0_212,您可以随时在 Jenkins 上找到最新的。
你没有提到任何关于你使用的意图,所以我会离题并假设你没有正确使用意图。为了使这些事件起作用,您需要启用 GatewayIntent.GUILD_MEMBERS
。这在事件 documentation.
在您的 JDABuilder 或 DefaultShardManagerBuilder 上使用 enableIntents(GatewayIntent.GUILD_MEMBERS)
。这将允许您使用这些事件。
如果您遇到任何其他问题,我建议您阅读 troubleshooting guide。