You need to enable JavaScript to run this app. 如何在Discord.js中实现Embed下方挂载申请按钮,替换原有文本提示
优惠活动
大模型
产品
解决方案
定价
更多

如何在Discord.js中实现Embed下方挂载申请按钮,替换原有文本提示

功能需求说明

我需要实现发送Embed消息来替代原本的「如果你想要申请,请点击下方按钮」文本提示,同时让申请按钮展示在Embed下方。我之前查阅了Component数组、embed数组相关的开发文档,但一直没能调通相关功能。
目前已有两位开发者@Skulaurun Mrusal、@PerplexingParadox提供了有效帮助,非常感谢。
效果示例图

可行实现代码(适用于discord.js v12)
client.on("message", async (message) => {
  // 不要回复机器人消息
  if (message.author.bot) return;

  if (message.content == "#req") {
    // 校验用户是否有管理消息权限
    if(!message.member.hasPermission("MANAGE_MESSAGES")) {
      message.reply("你没有执行该操作的权限!");
      return;
    }
    // 调用原生API发送带按钮的消息,discord.js v12 未原生支持该功能
    client.api.channels(message.channel.id).messages.post({
      data: {
        embeds: [reqEmbed],
        components: [
          {
            type: 1,
            components: [
              {
                type: 2,
                style:  4,
                label: "申请",
                // 自定义按钮ID,后续可通过该ID识别用户点击的是当前按钮
                custom_id: "send_application"
              }
            ]
          }
        ]
      }
    });
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 09:09:02