Discord.js V13播放器未定义



我正在构建一个不和谐.js v13.6.0音乐机器人,除了这个代码之外,一切都在工作

const { QueryType } = require('discord-player');
module.exports = {
name: 'play',
aliases: ['p'],
utilisation: '{prefix}play [song name/URL]',
voiceChannel: true,
async execute(client, message, args) {
if (!args[0]) return message.channel.send(`${message.author}, Write the name of the music you want to search. ❌`);
const res = await client.player.search(args.join(' '), {
requestedBy: message.member,
searchEngine: QueryType.AUTO
});
if (!res || !res.tracks.length) return message.channel.send(`${message.author}, No results found! ❌`);
const queue = await client.player.createQueue(message.guild, {
metadata: message.channel
});
try {
if (!queue.connection) await queue.connect(message.member.voice.channel);
} catch {
await client.player.deleteQueue(message.guild.id);
return message.channel.send(`${message.author}, I can't join audio channel. ❌`);
}
await message.channel.send(`Your ${res.playlist ? 'Your Playlist' : 'Your Track'} Loading... 🎧`);
res.playlist ? queue.addTracks(res.tracks) : queue.addTrack(res.tracks[0]);
if (!queue.playing) await queue.play();
},
};

当我使用此命令时,会发生以下错误:

Unhandled promise rejection: ReferenceError: player is not defined

我是编程新手,很抱歉出现任何愚蠢的错误,如果你需要任何信息,请毫不犹豫地询问

出现此类错误的可能性要么是在没有catch块的异步函数内部抛出,要么是拒绝没有.catch((的promise

你可能正在做:

  1. 您将代码放入async函数中,以便使用await调用
  2. 等待的功能失败

解决方案为:

  1. 使用.catch((

await returnsPromise().catch(e => { console.log(e) })

2.使用try/catch块


try {
await returnsPromise()
} catch (error) {
console.log('That did not go well.')
}

最新更新