代码:
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
答案 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.");
}