Бот Discord не может подключиться к голосовому каналу в discord.js

#javascript #discord #discord.js

#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:

Вы пропустили последнее } . Из-за этого вы не закрыли if-оператор вашей команды leave . Это была просто небольшая синтаксическая ошибка.

 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.");
}