実現したいこと
ボイスチャンネルに入退室すると、テキストチャンネルに「○○が入室(退室)しました。」と表示されるようにしたい。
発生している問題
実行すると、botがオンラインになるだけで通知が返ってこない。
該当のソースコード
const { Client, Intents } = require('discord.js'); const myIntents = new Intents(); myIntents.add(Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_MEMBERS); const client = new Client({intents: myIntents }); client.login("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); //トークン client.on('ready', () => { console.log(`${client.user.tag}`); }); client.on('guildMemberAdd', (member, guild) => { const channel = member.guild.channels.cache.get("000000000000000000"); //チャンネルID if (!channel) return; channel.send(`**参加** ${member.user.tag}さんが入室しました。`); }); client.on('guildMemberRemove', (member, guild) => { const channel = member.guild.channels.cache.get("000000000000000000"); //チャンネルID if (!channel) return; channel.send(`**退出** ${member.user.tag}さんが退出しました。`); });
自分で調べたことや試したこと
最初はbotそのものが動いてないのかと思い簡単な応答botに書き換えて実行したところ、正常に動作しました。
調べると、Intentsの制限を有効化するとあったのですがよくわかりませんでした。Developer PortalのGateway Intentsはすでに有効化してあります。
補足
node.js 16.14.0
discord.js 13.6.0

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/10 06:10