Discord embed无法正常运行,出现模块文件名解析报错该如何解决?
Discord embed消息发送报错解决方案
核心问题排查
- 模块加载失败:报错提示模块解析失败,首先确认你已经在项目根目录执行
npm install discord.js安装依赖,且代码开头已经正确引入discord.js:const Discord = require('discord.js') - API版本不兼容:你代码中使用的
Discord.RichEmbed是discord.js v11版本的API,v12及以上版本已经将其替换为Discord.MessageEmbed,直接调用已移除的API会触发运行错误 - 消息发送语法不兼容:discord.js v13及以上版本发送嵌入的语法已经调整,原
message.channel.send({embed})写法需要改为message.channel.send({embeds: [embed]}),同时消息事件名从message改为messageCreate,还需要手动配置消息读取相关的意图
修复后可运行代码
const Discord = require('discord.js') // v13+版本需要配置机器人意图,v12及以下可删除intents参数 const client = new Discord.Client({ intents: [Discord.Intents.FLAGS.GUILDS, Discord.Intents.FLAGS.GUILD_MESSAGES] }) const embed = new Discord.MessageEmbed() .setTitle("Info") .setURL("https://www.fajaryusuf.com/wp-content/uploads/2020/12/fajaryusuf.com-zhongli-Genshin-Impact.jpga") .setAuthor("Programmer: Acezx#7591", "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRQzjDisyw2UagcPjVWj0jOxhXWKd5ssesskQ&usqp=CAU","https://www.fajaryusuf.com/wp-content/uploads/2020/12/fajaryusuf.com-zhongli-Genshin-Impact.jpg") .setColor('#e10e0e') .setDescription("Info about The_ModBot") .setFooter("Info, https://www.fajaryusuf.com/wp-content/uploads/2020/12/fajaryusuf.com-zhongli-Genshin-Impact.jpg") .setImage("https://cdn.kincir.com/2/D47_jABuH801rq6yQPCK7Cm-m7yDH_w3jN-jZst--SQ/transform/rs:fill:764:400/src/production/2021-04/16by9/zhongli-1-5~69a0c2e9-4e03-4376-9a7c-c471dc3f240c.jpg") .setThumbnail("https://www.siliconera.com/wp-content/uploads/2020/12/genshin-impact-zhongli.jpg") .setTimestamp() // v13+事件名为messageCreate,v12及以下改为message client.on("messageCreate", message => { if (message.content === ";info") { message.channel.send({embeds: [embed]}) } }) // 填入你的机器人token完成登录 client.login('你的机器人token')
内容的提问来源于stack exchange,提问作者isteqsnip gaming
相关产品推荐
相关产品推荐

