有没有办法检测每个人是否离开了语音通道

时间:2020-09-18 04:38:25

标签: discord discord.js

client.on('voiceStateUpdate', (oldMember, newMember) => {
//do stuffs
})

我有此代码,但效果不佳。一旦用户离开VC,oldMembernewMember都将变得不确定。因此,我需要另一个代码来检查。必须由退出VC的人触发,并将检查VC中是否没有剩余的人并运行一些代码。

2 个答案:

答案 0 :(得分:0)

您可以使用VoiceChannel.members集合(link to documentation)。得到它的大小,然后,如果频道中唯一的成员是您的客户(因此大小等于1),那么您将知道其他所有人都离开了频道。

答案 1 :(得分:0)

原来我需要改用newState.channel

client.on('voiceStateUpdate', (oldState, newState) => {
  if (!newState.channel) return console.log(Left);
  if (!oldState.channel) return console.log(Joined);
});