You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.js欢迎嵌入消息代码运行npm run报Cannot find module 'node:events'错误

错误原因

  • 核心原因是当前安装的discord.js版本和运行环境的Node.js版本不兼容:discord.js v14及以上版本使用了node:前缀的核心模块导入语法,该语法仅在Node.js 16.9.0及更高版本中支持,你当前运行环境的Node.js版本低于该要求,无法识别node:events模块导入逻辑。
  • 额外的代码兼容问题:你贴出的代码使用的是discord.js v11的API,discord.js v12及之后版本已经弃用Discord.RichEmbed,替换为Discord.MessageEmbed,同时频道获取方法guild.channels.get()也已弃用,需改为guild.channels.cache.get(),高版本discord.js发送嵌入消息的语法也有调整。

修复步骤

  1. 优先选择升级Node.js版本到16.9.0或更高版本,你可以执行node -v查看当前版本,升级完成后重新执行npm install安装依赖。
  2. 如果你不想升级Node.js版本,可以直接降级discord.js到匹配你代码的v11版本,执行命令:npm install discord.js@11.6.4,安装完成后直接运行npm run即可正常启动。
  3. 如果你选择使用高版本discord.js,需要调整代码为兼容写法,参考如下:
const Discord = require('discord.js');
const { MessageEmbed } = Discord;

bot.on('guildMemberAdd', member => {
    const exampleEmbed = new MessageEmbed()
        .setColor('#2f3136')
        .setTitle('Welcome to miyoko.')
        .setImage("https://media.discordapp.net/attachments/891480598680600608/893855953831743508/image0.jpg")
        .setThumbnail("https://cdn.discordapp.com/icons/891338757972840458/603efa60b46e5dd8b09aafeaf8167c5c.webp")
        .setDescription('<:asc_bhrttt:893064714735726622> <#892951925270642739> \n <:ra_xheart01:893064647698178069> <#892953158299582484> \n <:ra_xheart02:893065191170924544> <#892954010993164308')

    member.guild.channels.cache.get('891480598680600608').send({ embeds: [exampleEmbed] });
})
  1. 调整完成后重新执行npm run启动项目即可。

内容的提问来源于stack exchange,提问作者lexy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 06:15:03