繁体   English   中英

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 块的情况下抛出异步 function 或拒绝没有 a.catch() 的 promise

你可能正在做:

  1. 您将代码放在异步function 中以便使用await调用。
  2. 等待的 function 失败。

解决方案是:

  1. 要么使用.catch()

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

或者

2.使用try/catch块


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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM