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

Discord.js 12.5.3 调用原生API添加多按钮时第二个组件无法识别如何解决

问题原因

你的消息组件嵌套结构不符合Discord官方规范:type=1的Action Row是唯一的按钮容器,所有同组按钮需要平级放在Action Row的components数组中。你将Deny按钮错误嵌套到了Accept按钮的components属性下,因此第二个按钮无法被识别。

修正后代码

client.api.channels(applicationChannelId).messages.post({
  data: {
    embeds: [application],
    components: [{
      type: 1, // Action Row 容器类型
      components: [
        // Accept 按钮
        {
          type: 2,
          style: 3,
          label: "Accept",
          custom_id: "accept"
        },
        // Deny 按钮,与Accept平级存放
        {
          type: 2,
          style: 4,
          label: "Deny",
          custom_id: "deny"
        }
      ]
    }]
  }
})

额外注意

Discord.js 12.5.3版本本身没有内置消息组件的相关封装,如果你后续需要监听按钮点击交互,需要自行监听底层的交互事件,或者升级到v13及以上版本使用官方原生的组件操作API。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:30:04