discord.js-commando TypeError:RichEmbed 不是构造函数

Posted

技术标签:

【中文标题】discord.js-commando TypeError:RichEmbed 不是构造函数【英文标题】:discord.js-commando TypeError: RichEmbed is not a constructor 【发布时间】:2020-10-05 01:06:42 【问题描述】:

我想用 discord.js-commando 发送嵌入,但是当我发送命令时它告诉我:

运行命令时出错:TypeError: RichEmbed is not a constructor 你不应该收到这样的错误。

这是我的代码

const  Command  = require('discord.js-commando');
const  RichEmbed  = require('discord.js');

module.exports = class EmbedCommand extends Command 
    constructor(client) 
        super(client, 
            name: 'embed',
            group: 'util',
            memberName: 'embed',
            description: 'Embeds the text you provide.',
            examples: ['embed Embeds are cool.'],
            args: [
                
                    key: 'text',
                    prompt: 'What text would you like the bot to embed?',
                    type: 'string'
                
            ]
        );    
    

    run(msg, args) 
        const  text  = args;
        const embed = new RichEmbed()
            .setDescription(text)
            .setAuthor(msg.author.username, msg.author.displayAvatarURL)
            .setColor(0x00AE86)
            .setTimestamp();
        return msg.embed(embed);
    
;

【问题讨论】:

【参考方案1】:

如果您使用的是 discord.js v12+,则为 Discord.MessageEmbed()

【讨论】:

【参考方案2】:

RichEmbed 在最新版本中称为 MessageEmbed。重命名应该没问题。

【讨论】:

以上是关于discord.js-commando TypeError:RichEmbed 不是构造函数的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 和 discord.js-commando 防止命令在特定通道中运行

discord.js-commando TypeError:RichEmbed 不是构造函数

广播所有命令不自动删除广播 - Discord.js-Commando

Discord.js-commando 节流不起作用

具有不同响应的命令上的 discord.js-commando 参数

discord.js-commando RangeError:参数类型“字符串”未注册