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

Discord.js 14升级后TypeScript项目中discord-akairo报错

Discord.js v14升级后discord-akairo v8.1.0的TypeScript错误解决

错误原因

discord-akairo v8.1.0的类型定义基于Discord.js v12/v13编写,而Discord.js v14对大量API类型做了重命名、合并或移除,导致两者类型不兼容,出现以下6个错误:

错误列表

  • node_modules/discord-akairo/src/index.d.ts:4:18 - TS2305: 模块"discord.js"无导出成员MessageAttachment
  • node_modules/discord-akairo/src/index.d.ts:4:37 - TS2305: 模块"discord.js"无导出成员MessageEmbed
  • node_modules/discord-akairo/src/index.d.ts:5:9 - TS2724: "discord.js"无导出成员MessageAdditions(提示建议MessageEditOptions)
  • node_modules/discord-akairo/src/index.d.ts:5:47 - TS2724: "discord.js"无导出成员MessageOptions(提示建议BaseMessageOptions)
  • node_modules/discord-akairo/src/index.d.ts:5:63 - TS2305: 模块"discord.js"无导出成员SplitOptions
  • node_modules/discord-akairo/src/index.d.ts:8:31 - TS2724: "discord.js"无导出成员StringResolvable(提示建议UserResolvable)

解决办法

1. 升级discord-akairo到适配v14的版本

这是最彻底的解决方案。discord-akairo v9及以上版本已适配Discord.js v14,执行以下命令升级:

npm uninstall discord-akairo
npm install discord-akairo@latest

注意:v9版本存在API变更,需同步调整代码(比如命令注册方式、事件处理逻辑等)。

2. 临时类型修补(不推荐)

若暂时无法升级,可手动修改node_modules/discord-akairo/src/index.d.ts文件,将过时类型替换为Discord.js v14的对应类型:

  • MessageAttachment → Attachment
  • MessageEmbed → EmbedBuilder
  • MessageAdditions/MessageOptions → BaseMessageOptions
  • 移除SplitOptions,或替换为import type { SplitOptions } from 'discord.js/util/SplitMessage'(若存在)
  • StringResolvable → 替换为string | User | GuildMember | Channel | Role(根据实际场景调整)
    该方法为临时方案,下次执行依赖安装时修改会被覆盖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:05:19