Discord.js V13 播放器未定义

Discord.js V13 Player is not defined

我正在构建一个 discord.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() 的承诺

你可能在做:

  1. 您将代码放入 async 函数中以便使用 await 调用。
  2. awaited 函数失败。

解决办法是:

  1. 要么使用.catch()

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

2.Use try/catch 块


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