我对 Discord4Js MemberJoinEvent 有疑问

I have a Problem with Discord4Js MemberJoinEvent

我刚开始为自己编写一个新的 Discord 机器人,看看我能创造什么。目前,我正在研究 Autorole 功能,但我只是不明白为什么 Bot 不会被 MemberJoinEvent 触发。 这是我的代码:

gateway.getEventDispatcher().on(MemberJoinEvent.class).subscribe(memberJoinEvent -> {
       final Member member = memberJoinEvent.getMember();            
       System.out.println(member.toString());
});

我找到问题了!我不知道 discord 在他们的开发者门户中改变了什么。我还使用了我的旧项目,所以我没有注意到它。 您必须在开发人员门户中手动启用它,机器人才能访问会员信息。 A screenshot of the location to enable the gateway feature

除了leguans的回答,我还要请求网关intents!

GatewayDiscordClient gatewayDiscordClient() {
    return discordClient()
        .gateway()
        .setEnabledIntents(IntentSet.all())
        .login()
        .block();
}

https://docs.discord4j.com/migrating-from-v3-1-to-v3-2/#gateway-intents