【问题标题】:Why does GuildMemberJoinEvent for Discord JDA not work?为什么不和谐 JDA 的 GuildMemberJoinEvent 不起作用?
【发布时间】:2021-08-05 15:35:16
【问题描述】:

我正在尝试使用 Java 编写一个不和谐的机器人,但由于某种原因,GuildMemberJoinEvent 无法正常工作。 MessageRecievedEvent 等其他事件正在运行。

这是我监听 GuildMemberJoinEvent 的方式:

public class Joins extends ListenerAdapter {
    @Override
    public void onGuildMemberJoin(GuildMemberJoinEvent event) {
        System.out.println("Member Joined");
    }
}

我像这样将它注册到 JDABuilder:

Joins joins = new Joins();
jdaBuilder.addEventListeners(joins);

其他事件,例如 MessaveReceivedEvent,工作正常。我使用完全相同的方法来监听它们并将它们注册到我的主类中。怎么可能解决这个问题?

【问题讨论】:

标签: java discord


【解决方案1】:

this question

为了让您的机器人获得所需的事件,您需要在不和谐开发者门户中的机器人应用程序页面上启用“服务器成员意图”。

【讨论】:

  • 我尝试启用两者,但仍然无法正常工作。还有其他想法吗?
  • 看我回答中的问题
【解决方案2】:

我的猜测是您在构建 JDA 之后添加事件侦听器。

这就是应该这样做的方式 - 而且,正如 MrCodingB 所提到的,确保 Intent 已启用:

jdaBuilder.addEventListeners(new Joins());
JDA jda = jdaBuilder.build().awaitReady();

【讨论】:

    猜你喜欢
    • 2022-01-04
    • 2020-10-22
    • 2020-11-13
    • 2021-01-06
    • 2021-12-28
    • 2021-11-09
    • 2021-02-25
    • 1970-01-01
    • 2021-01-13
    相关资源
    最近更新 更多