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

Discord.js V13升级后MessageEmbed报EMBED_FIELD_VALUE错误如何解决

问题判断结论

你的排查结论完全正确。Discord.js V12版本会隐式将数组类型的Embed字段value自动转换为字符串,但是V13及以上版本收紧了类型校验,明确要求Embed字段的value必须为非空字符串,不再支持自动类型转换,数组传入时会直接触发你遇到的RangeError [EMBED_FIELD_VALUE]报错。

其他可能触发该报错的原因

你也可以额外排查以下场景:

  • 传入的displayText数组中存在undefined/null/空字符串值,模板字符串转换后如果得到空值,会触发非空校验报错
  • msgSender/displayTime/memberCount这类全局变量如果存在未定义的情况,渲染到Embed标题、页脚或字段名中也可能触发非预期的空值报错

修复方案

只需要将用户数组手动转换为字符串即可,推荐按换行格式拼接方便阅读,修改addFields中三个用户状态的value取值逻辑:

// 原逻辑
value: users1.length !== 0 ? users1 : "-",
// 替换为
value: users1.length !== 0 ? users1.join('\n') : "-",

对users2、users3的value取值做相同修改即可解决报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 16:54:04