我目前正在用Discord.js 14开发一个discord音乐机器人,我正在跳过歌曲部分,但是当我跳过当前歌曲时,它会跳过当前歌曲加上队列中的第一首歌曲,它不应该只跳过当前歌曲。
正如你在代码中看到的。我正在检索discord服务器的队列。一切都很好,因为我有我应该有的每首歌。稍后在代码中,我做queue.skip(),它应该只跳过当前歌曲,因为它说这是一个布尔值,跳过当前曲目。我花了一整天的时间来理解为什么它跳过2首歌,而不是一首。
提前感谢每一个人谁将回答那里。
const { SlashCommandBuilder, EmbedBuilder} = require('@discordjs/builders')
module.exports = {
data: new SlashCommandBuilder()
.setName('skip')
.setDescription('Skips the current song'),
run: async ({client, interaction}) => {
const queue = client.player.getQueue(interaction.guildId)
if (!queue){
return await interaction.editReply("No songs are currently playing")
}
const currentSong = queue.current
queue.skip()
await interaction.editReply({
embeds: [
new EmbedBuilder()
.setDescription(`${currentSong.title} has been skipped`)
.setThumbnail(currentSong.thumbnail)
]
})
}
}
尝试使用其他方法,但这不是我想要的。Skip()方法应该是好的
1条答案
按热度按时间tf7tbtn21#
使用
discord-player@5.3.0
代替discord-player@5.4.0
,它对我有效。这是我的依赖项:)