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

discord.js v13中如何实现示例图所示的Embed字段效果

目标Embed效果参考

discord.js v13 实现对应Embed样式的代码写法
  • 前置依赖:确认本地安装的是discord.js v13版本,安装命令为npm i discord.js@13,同时机器人在目标频道需要持有EMBED_LINKS、SEND_MESSAGES权限,否则嵌入消息无法正常发送。
  • v13版本构造嵌入消息统一使用MessageEmbed类,发送时需要将实例放入embeds数组中传入send/reply方法,不兼容v12及更早版本的传参格式。

完整代码示例

const { MessageEmbed } = require('discord.js');

// 构造Embed实例,逐一对齐示例样式
const targetEmbed = new MessageEmbed()
  // 设置侧边栏颜色,可替换为示例对应的色值
  .setColor('#5865F2')
  // 设置标题区域
  .setTitle('你的Embed标题')
  // 设置正文描述
  .setDescription('Embed正文描述内容,支持Discord原生Markdown语法')
  // 添加字段,inline为true时字段会横向并排展示,和示例字段布局一致
  .addFields(
    {
      name: '第一个字段标题',
      value: '第一个字段的内容',
      inline: true
    },
    {
      name: '第二个字段标题',
      value: '第二个字段的内容',
      inline: true
    },
    {
      name: '第三个字段标题',
      value: '第三个字段的内容',
      inline: false
    }
  )
  // 设置页脚
  .setFooter({ text: '页脚显示的文字' })
  // 追加时间戳,会自动显示在页脚右侧
  .setTimestamp()

// 普通消息场景下发送(放在message事件回调内使用)
// message.channel.send({ embeds: [targetEmbed] })

// 斜杠命令场景下回复(放在interactionCreate事件回调内使用)
// interaction.reply({ embeds: [targetEmbed] })

常见踩坑点

  • 所有字段的name和value不能为空,需要留白占位时填入\u200B零宽空格即可。
  • 单个Embed最多支持25个字段,标题、描述、字段值、页脚文本均有官方长度限制,超出会直接抛出API错误。
  • 旧版单字段添加方法.addField()在v13中仍可运行,但推荐使用.addFields()批量添加,代码可读性更高。
  • 如果需要添加作者栏、右上角缩略图、底部主图,对应调用.setAuthor()、.setThumbnail()、.setImage()方法传入对应资源地址即可,参数结构和setFooter一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 22:24:13