如何修复RichEmbed Discord.js

时间:2020-06-04 16:42:50

标签: javascript discord discord.js

我知道这个问题存在,但是即使我调查了另一个问题并且我使用了“ sendEmbed”而不是“ send”,但是似乎没有任何效果,如果有人可以帮助解决这个错误,我将不胜感激:)

这是我的代码:

const Discord = require('discord.js');
const bot = new Discord.Client();
const token = "Removed For Security";

const PREFIX = "!";

bot.on('ready', () => {
    console.log("Bot is online");
})

bot.on('message', (msg) => {
    let args = msg.content.substring(PREFIX.length).split(" ");

    switch (args[0]) {
        case 'ping':
            msg.channel.send("pong!")
            break;
        case 'clear':
            if (!args[1])
                return msg.reply('Error please define second argument');
            msg.channel.bulkDelete(args[1]);
            break;
        case 'embed': {
            const embed = new Discord.RichEmbed()
                .addField('Player Name', msg.author.username)
            msg.channel.send(embed)
            break;
        }
    }
})

bot.login(token);

这是错误:

C:\Users\isam\Desktop\discord bot\index.js:24
            const embed = new Discord.RichEmbed()
                          ^

TypeError: Discord.RichEmbed is not a constructor
    at Client.bot.on (C:\Users\isam\Desktop\discord bot\index.js:24:27)
    at Client.emit (events.js:193:13)
    at MessageCreateAction.handle (C:\Users\isam\Desktop\discord bot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
    at Object.module.exports [as MESSAGE_CREATE] (C:\Users\isam\Desktop\discord bot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\isam\Desktop\discord bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
    at WebSocketShard.onPacket (C:\Users\isam\Desktop\discord bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
    at WebSocketShard.onMessage (C:\Users\isam\Desktop\discord bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
    at WebSocket.onMessage (C:\Users\isam\Desktop\discord bot\node_modules\ws\lib\event-target.js:125:16)
    at WebSocket.emit (events.js:193:13)
    at Receiver.receiverOnMessage (C:\Users\isam\Desktop\discord bot\node_modules\ws\lib\websocket.js:800:20)

您可以看到错误是在RichEmbed构造函数中,我的Discord.js版本也是'12 .2.0',有什么想法吗?

2 个答案:

答案 0 :(得分:5)

Discord.RichEmbed已在v12中删除。

只需使用Discord.MessageEmbed

基本上是相同的。只是一个新名字。

新文档:https://discord.js.org/#/docs/main/v12/class/MessageEmbed

答案 1 :(得分:0)

Discord.RichEmbed在V12中被删除

尝试:

const embed = new Discord.MessageEmbed()

// 我被嵌入

msg.channel.send(嵌入)