Discord.js - Bot在队列结束时不离开通道



我对discord.js编码有点陌生,我想让我的音乐永远留在频道中,但是如果没有人听,它会在播放音乐队列结束时退出。

这是我尝试过的:

const queue = message.client.queue.get(message.guild.id);
if (!song) {
const endembed = new MessageEmbed().setColor("#F0EAD6")
.setAuthor(`Music Queue ended.`)
if (queue.channel.members.size != 1)
message.client.queue.delete(message.guild.id);
return queue.textChannel.send(endembed).catch(console.error);
if (!song) queue.channel.leave()
message.client.queue.delete(message.guild.id);
return queue.textChannel.send(endembed).catch(console.error);
}

问题是机器人不会在音乐播放结束时离开(如果单独)。

因此,如果通道中有人不是另一个bot,则bot需要永远留在通道中,如果队列结束并且通道中没有人,则离开通道。

尝试在代码中添加大括号:

if (!song) {
const endembed = new MessageEmbed().setColor("#F0EAD6").setAuthor(`Music Queue ended.`);
if (queue.channel.members.size != 1){
message.client.queue.delete(message.guild.id);
return queue.textChannel.send(endembed).catch(console.error);
}

queue.channel.leave();
message.client.queue.delete(message.guild.id);
return queue.textChannel.send(endembed).catch(console.error);

}

相关内容

  • 没有找到相关文章

最新更新