🥴
【Discord.js】client.on("guildMemberAdd")が使えないので"messageCreate"から取得してみる
そんなに濃い目の内容でもなく、「こうすればいいよ!」系の記事なのでIdeaとして公開します。
discord.js-selfbot-v13
での話ですが、恐らくdiscord.js
でもこの方法は通用するはずです。
きっかけ
サーバーに誰かしら参加してきた時のイベントをトリガーに処理しようとした時、docsを見ていると...
なんと、Client#guildMemberAdd
はDeprecatedになっていました。Issueを見てみると、どうやらこのイベントはもう使えないようです。
でも大丈夫!Discordが用意してくれている参加メッセージをトリガーにできます。
messageCreateを使う
messageCreateイベントにはtype
が含まれています。
これを使うと、メッセージがどの種類に該当するかを判別できます。(通常のメッセージ、ピン留め通知、などなど...)
Docsから、メンバー参加時のtypeはGUILD_MEMBER_JOIN
であることがわかるはずです!
つまり、このように書くことでメンバーが参加した場合の処理を行えます。
client.on("messageCreate", (message) => {
if (message.type === "GUILD_MEMBER_JOIN") {
const joinedUserId = message.author.id; //参加したのが誰かまでわかる!!
//...
}
})
簡単ですね! おわり!!
Discussion