我对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);
}