discord.js のv13でguildMemberAddが機能しなくて詰まった話

こんにちは。だだぱんです。今回はDiscord.jsのv13でguildMemberAddが機能しなくて大変だったはなしです。

久々のDiscord.js

最近あまりDiscordAPIを触れていなかったので勝手が色々と違くて大変でした。特に今回のはググってもまったくでてこなかったのでまじで積んだかと思いました。

原因はIntents

Intentsっていうのがあるらしく、一部のイベントは拾って一部のイベントは拾わないみたいなことができるんだとか...それの存在をよく知らずにこんな書き方してたのが原因でした。

this.client = new Client({ intents: Intents.FLAGS.GUILDS })

これを下のように書き換えます。

this.client = new Client({ intents: [Intents.FLAGS.GUILDS,Intents.FLAGS.GUILD_MEMBERS] })

Intents.FLAGS.GUILD_MEMBERS これを追加すればメンバーのイベントを聞けるらしい。実際に動かして聞けたのでこれが原因ですね...