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

discord.js v13发送Embed消息报错Cannot send an empty message如何解决

问题原因
  • 核心原因是discord.js v13调整了消息 payload 的结构规范:v12及更早版本支持单Embed用embed字段传递,v13开始所有Embed必须放入embeds数组字段中传递。你当前代码使用了旧版本的{embed: aembed}传参格式,discord服务端无法识别到有效消息内容,因此判定为空消息,抛出错误码50006的Cannot send an empty message异常。
  • 额外注意:你代码中setThumbnail('png')传入的是无效图片链接,后续运行可能出现缩略图加载失败的问题,建议替换为合法的图片直链地址。
修复方案

只需要修改发送消息的代码行,把旧的传参格式替换为v13要求的格式即可:
原代码行:

message.channel.send({embed: aembed})

修改为:

message.channel.send({embeds: [aembed]})
修改后完整代码片段
case 'a':
case 'A':
  let part = message.content.split(" ");
  if(!message.member.permissions.has(Discord.Permissions.FLAGS.MANAGE_ROLES)) return;
  if(!part[1]) return;
  var text = message.content.split(" ").slice(1).join(" ");
  message.delete();

  const aembed = new Discord.MessageEmbed()
  .setColor('RED')
  // 建议将下方的'png'替换为有效的图片直链
  .setThumbnail('png')
  .addField('Our newest announcement: ', text, true)
  .setTimestamp()
  .setFooter('This is an announcement' + 'from' + message.member.displayName + '!')

  // 修改为v13要求的embeds数组格式
  message.channel.send({embeds: [aembed]})

内容的提问来源于stack exchange,提问作者I need Help

相关产品推荐
方舟 Agent Plan

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

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