javascript - 如何修复 RichEmbed Discord.js

标签 javascript discord discord.js

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

这是我的代码:

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”,有什么想法吗?

最佳答案

Discord.RichEmbed 在 v12 中被移除。

只需使用 Discord.MessageEmbed 即可。

本质上是一样的。只是一个新名字。

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

关于javascript - 如何修复 RichEmbed Discord.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62199891/

相关文章:

javascript - 我如何判断 javascript 函数是否可以跨浏览器工作

python - 如何使用嵌入颜色输出配置

javascript - 我正在尝试获取 messageUpdate 日志,但发送 null

javascript - 我如何在 discord.js 中等待回复?

javascript - 更改 Discord 机器人的时间和日期格式

Discord Js 为具有默认头像的服务器成员提供 null avatarURL

javascript - 页面加载时弹出,每个用户仅加载一次

javascript - div 应使用 jquery 和 ajax 每三秒刷新一次

javascript - 如果字符串中存在数组值(类似于正则表达式)

javascript - Discord Bot self 回复,无法识别 message.author.bot