前提
Githubで公開されていた以下のコードをreplit上で実行しています。
https://github.com/riz467/VoiceChatWatcher
現在、ユーザーの入室に反応してbotは正しく動作しています。
実現したいこと
上記コードでは入室通知は行われておりますが、退室の通知が行えません。
コードを書き換え、入室同様に退室を同一のテキストチャネルへ通知するにはどのようにすれば良いでしょうか?
◆入室処理に関するコード
bot.on("voiceChannelJoin", (member, newChannel) => { const textChannel = newChannel.guild.channels.find( (channel) => channel.id === sendtextchannel ); const username = member.nick != null ? member.nick : member.username; const msg = `${username} が [${newChannel.name}] にログインしたようじゃ`; if (arr.some(item => item == member.id)){ return; } else{ bot.createMessage(textChannel.id, msg); } });
◆ 退室処理に関するコード
bot.on("voiceChannelLeave", (member, oldChannel) => { if (arr.some(item => item == member.id)){ return; } else{ arr.push(member.id); } setTimeout(function () { let t = arr.indexOf(member.id); if (t >= 0) { arr.splice(t, 1); } }, waittime); });
補足情報(FW/ツールのバージョンなど)
node v16.15.0
discord.js v13.1.0
あなたの回答
tips
プレビュー