嵌入上的 Discord.js 按钮

Posted

技术标签:

【中文标题】嵌入上的 Discord.js 按钮【英文标题】:Discord.js Button on Embed 【发布时间】:2021-10-07 18:54:30 【问题描述】:

我想让它发送一个嵌入而不是说“如果你想申请,请单击下面的按钮。”,并在嵌入下方有应用按钮我已经阅读了一些关于组件数组和嵌入数组的东西但我似乎无法得到任何工作如果有人可以帮助我,我会感激它????

两个非常乐于助人的人帮助了我

@Skulaurun Mrusal 和 @PerplexingParadox

谢谢! ????

client.on("message", async (message) => 
      // Don't reply to bots
  if (message.author.bot) return;

  if (message.content == "#req") 
         if(!message.member.hasPermission("MANAGE_MESSAGES"))
     
        message.reply("You do not have permission to do that!");
        return;
     
    // Perform raw API request and send a message with a button,
    // since it isn't supported natively in discord.js v12
    client.api.channels(message.channel.id).messages.post(
      data: 
        embeds: [reqEmbed],
        components: [
          
            type: 1,
            components: [
              
                type: 2,
                style:  4,
                label: "Apply",
                // Our button id, we can use that later to identify,
                // that the user has clicked this specific button
                custom_id: "send_application"
              
            ]
          
        ]
      
    );
  
);

【问题讨论】:

【参考方案1】:

你只需要用一行来修改你的代码。您只需通过 Discord API 帖子发送您的 exampleEmbed,而不是使用 discord.js 方法。

为此,您只需添加一个embeds 字段,该字段接受embed 对象数组,您已方便地将其标记为exampleEmbed,并将其放在那里。

像这样:

client.api.channels(message.channel.id).messages.post(
    data: 
        //adds the embed here, so the button and embed will be sent together
        embeds: [exampleEmbed],
        components: [
            
                type: 1,
                components: [
                    
                        type: 2,
                        style: 1,
                        label: "Apply",
                        // Our button id, we can use that later to identify,
                        // that the user has clicked this specific button
                        custom_id: "send_application"
                    
                ]
            
        ],
    
);

这是Discord API documentation 供参考。


另外,discord.jsv13 好像也支持按钮了,不过最近才发布,所以没时间看。

Discord.js Guide

【讨论】:

以上是关于嵌入上的 Discord.js 按钮的主要内容,如果未能解决你的问题,请参考以下文章

无法发送嵌入和组件 discord.js v13

如何在 discord.py 中嵌入如下图所示的按钮? [关闭]

Discord.js V13:如何编辑交互的消息对象?

我将如何“刷新”嵌入 discord.js 的不和谐?更多信息下来 vv

Discord.js 智能帮助嵌入

Discord.js 嵌入不显示