Discord Bot 无法断开与 discord.js 中的语音通道的连接

时间:2021-01-05 06:21:24

标签: javascript discord discord.js

代码:

const guild = message.guild;
let voiceId = message.content.split(" ").slice(1).join("");
let voiceChannelId = client.channels.cache.get(voiceId);
if(message.content.startsWith("$join")){
    let msgLength = message.content.length;
    if(msgLength > 5){
        voiceChannelId.join().then(connection=>{message.channel.send("Successfully Connected!")
        }).catch(err=>{console.error(err)});
    } else if(msgLength <= 5)return message.channel.send("Invalid channel ID. Pls try again!")};
let voiceChannel = message.member.voiceChannel;
if(message.content === "$leave"){
    // console.log(voiceChannel);
    if(voiceChannel){
        voiceChannel.leave();
    } else return message.channel.send("I'm not connected to any voice channel.");

当我使用离开命令时,机器人仍然停留在语音通道中。有人请帮助我T-T

1 个答案:

答案 0 :(得分:0)

您错过了最后一个}。因此,您没有关闭 leave 命令的 if 语句。这只是一个小小的语法错误。

const guild = message.guild;
let voiceId = message.content.split(" ").slice(1).join("");
let voiceChannelId = client.channels.cache.get(voiceId);
if (message.content.startsWith("$join")) {
  let msgLength = message.content.length;
  if (msgLength > 5) {
    voiceChannelId.join().then(connection => {
      message.channel.send("Successfully Connected!")
    }).catch(err => { console.error(err) });
  } else if (msgLength <= 5) return message.channel.send("Invalid channel ID. Pls try again!");
}
let voiceChannel = message.member.voiceChannel;
if (message.content === "$leave") {
  // console.log(voiceChannel);
  if (voiceChannel) {
    voiceChannel.leave();
  } else return message.channel.send("I'm not connected to any voice channel.");
}