JDA 在通过 id 获取公会时返回 null

Posted

技术标签:

【中文标题】JDA 在通过 id 获取公会时返回 null【英文标题】:JDA returing null when getting guild by id 【发布时间】:2021-03-06 03:26:12 【问题描述】:

我正在制作 Minecraft 插件,它会与 discord 通信,但是当我尝试通过 id 获取公会时,它会返回 null。

jda = new JDABuilder(AccountType.BOT).setToken(token).build();
jda.addEventListener(new ReactionRecieveEvent(this));
jda.addEventListener(new CreateNewVoiceChannel(this));
jda.addEventListener(new DeleteEmptyChannel(this));
new VerifyCommand(this);

这是我构建 JDA 的地方。类 VerifyCommand 是命令执行者,我正在尝试从中获取公会。

【问题讨论】:

【参考方案1】:

这种方式已被弃用,所以使用这种方式。

jda = JDABuilder.createDefault(token).build();
jda.addEventListener(new ReactionRecieveEvent(this));
jda.addEventListener(new CreateNewVoiceChannel(this));
jda.addEventListener(new DeleteEmptyChannel(this));
new VerifyCommand(this);

或者你可以使用这种方式来提高可读性

jda = JDABuilder.createDefault(token)
    .addEventListener(new ReactionRecieveEvent(this))
    .addEventListener(new CreateNewVoiceChannel(this))
    .addEventListener(new DeleteEmptyChannel(this))
    .build();
new VerifyCommand(this);

您可以在 wiki 上查看简单问题 https://github.com/DV8FromTheWorld/JDA/wiki

【讨论】:

以上是关于JDA 在通过 id 获取公会时返回 null的主要内容,如果未能解决你的问题,请参考以下文章

JDA 事件获取器返回 null 并让所有成员在一个角色中只返回机器人本身

Kotlin discord jda 无法通过 id 获取消息

用户使用JDA进入公会时如何更新语音通道

JDA:如何检测成员是如何从公会中移除的?

有没有办法在不加入公会的情况下从提及中获取用户的 ID?

Mongodb graphQL和Feather js数据通过_id获取在某些情况下返回null