Javascript 如何在没有成员的情况下离开语音频道

Javascript 如何在没有成员的情况下离开语音频道,javascript,discord.js,Javascript,Discord.js,这是我命令的部分代码!虽然这只是我不能很好理解的部分!我正在尝试让机器人在队列结束后离开 if (!url){ fs.unlinkSync(`checker/${message.guild.id}.json`); fs.unlinkSync(`files/${message.guild.id}.json`); fs.unlinkSync(`number/${message.guild.id}.json`); conn

这是我命令的部分代码!虽然这只是我不能很好理解的部分!我正在尝试让机器人在队列结束后离开

if (!url){
          fs.unlinkSync(`checker/${message.guild.id}.json`);
          fs.unlinkSync(`files/${message.guild.id}.json`);
          fs.unlinkSync(`number/${message.guild.id}.json`);
          connection.leave();
          message.channel.send("The Queue Finished so I left!");
        }
上面写着
的部分!url
fs.unlink
都能正常工作,只是让机器人离开语音频道是一个我无法解决的问题!我尝试了以下方法:

message.member.voice.channel.leave();
message.guild.me.voice.channel.leave();
voiceChannel.leave();
(I have also tried to get the id of the vc and leave but gave me errors)
编辑:
const voiceChannel=message.member.voice.channel

这就是voiceChannel的定义

以下是您需要做的:

if (!url){
          fs.unlinkSync(`checker/${message.guild.id}.json`);
          fs.unlinkSync(`files/${message.guild.id}.json`);
          fs.unlinkSync(`number/${message.guild.id}.json`);
          connection.leave();
          client.channels.cache.get('<channel ID here>').leave();
          message.channel.send("The Queue Finished so I left!");
        }
if(!url){
fs.unlinkSync(`checker/${message.guild.id}.json`);
fs.unlinkSync(`files/${message.guild.id}.json`);
fs.unlinkSync(`number/${message.guild.id}.json`);
连接。离开();
client.channels.cache.get(“”).leave();
message.channel.send(“队列结束,所以我离开了!”);
}

我不完全确定您是如何存储频道ID的,因此您需要自己填写。

以下是您需要做的:

if (!url){
          fs.unlinkSync(`checker/${message.guild.id}.json`);
          fs.unlinkSync(`files/${message.guild.id}.json`);
          fs.unlinkSync(`number/${message.guild.id}.json`);
          connection.leave();
          client.channels.cache.get('<channel ID here>').leave();
          message.channel.send("The Queue Finished so I left!");
        }
if(!url){
fs.unlinkSync(`checker/${message.guild.id}.json`);
fs.unlinkSync(`files/${message.guild.id}.json`);
fs.unlinkSync(`number/${message.guild.id}.json`);
连接。离开();
client.channels.cache.get(“”).leave();
message.channel.send(“队列结束,所以我离开了!”);
}

我不完全确定您是如何存储频道ID的,所以您需要自己填写。

这很奇怪,我用我的机器人尝试了一下,它似乎起了作用。当您尝试执行
voiceChannel.leave()
时,出现了什么错误?问题是,即使用户已经离开,我也会尝试让它离开,但它会给我带来错误,因为vc内部没有成员可以让它离开。这很奇怪,我用我的机器人尝试了这一点,它似乎可以工作。当您尝试执行
voiceChannel.leave()
时出现了什么错误?问题是,我正在尝试这样做,即使用户已经离开,它也应该离开,但这会给我带来错误,因为vc中没有成员可以让它离开