Discord.js:嵌入不发送

时间:2021-03-14 13:38:09

标签: javascript discord.js referenceerror

我正在尝试制作带有反应的帮助嵌入命令,但我不断收到此错误 我正在尝试使用反应嵌入帮助,但是当我这样做时!帮助,它不发送嵌入???

我正在尝试制作带有反应的帮助嵌入命令,但我不断收到此错误我正在尝试制作带有反应的帮助,但是当我这样做时!帮助,它不发送嵌入??< /p>

这是我的代码:

const Discord = require('discord.js')

module.exports = {
    name: 'help',
    description: "Help command",
    execute(message, args){
        async function helpEmbed(message, args) { 
            const helpEmbed = new Discord.MessageEmbed()
                .setTitle('Help!')
                .setDescription(`**React with one of the circles to get help with a category!**`)
                .addFields(
                    { name: 'Moderation', value: ':blue_circle:'},
                    { name: 'Fun', value: ':green_circle:'},
                    { name: 'Misc', value: ':purple_circle:'},
                )
                .setColor(4627199)
            message.channel.send({embed: helpEmbed}).then(embedMessage => {
                embedMessage.react('?')
                embedMessage.react('?')
                embedMessage.react('?')
            })
            const msg = await sendReact()
            const userReactions = message.reactions.cache.filter(reaction => reaction.users.cache.has(userId));
            const filter = (reaction, user) =>{
                return ['?', '?', '?'].includes(reaction.emoji.name) && user.id === message.author.id;
            }
            
            msg.awaitReactions(filter, { max: 1, time: 10000, errors: ['time'] })
        .then(collected => {
            const reaction = collected.first();

            if (reaction.emoji.name === '?') {
                try {
                    for (const reaction of userReactions.values()) {
                        reaction.users.remove(userId)
                    }
                } catch (error) {
                    console.error('Failed to remove reactions.')
                }

                message.channel.send('Moderation');
            } else if (reaction.emoji.name === '?') {
                try {
                    for (const reaction of userReactions.values()) {
                        reaction.users.remove(userId)
                    }
                } catch (error) {
                    console.error('Failed to remove reactions.')
                }
                message.channel.send('Fun');
            } else if (reaction.emoji.name === '?') {
                try {
                    for (const reaction of userReactions.values()) {
                        reaction.users.remove(userId)
                    }
                } catch (error) {
                    console.error('Failed to remove reactions.')
                }
                message.channel.send('Misc')
            }
        })
        .catch(collected => {
            message.reply('you reacted with neither a thumbs up, nor a thumbs down.');
        });
    }
    }
}

1 个答案:

答案 0 :(得分:0)

您定义了 helpEmbed 函数但没有调用它。

尝试在“execute(message, args){”之后写“helpEmbed()”

如果还是不行: 检查机器人的权限 Bot 需要在该频道中SEND_EMBED_LINKS 权限。

相关问题