Discord JS,不和谐按钮;如何在消息中附加 5 个以上的按钮?

Discord JS, discord-buttons; How to attach more than 5 buttons to a message?

如何使用不和谐按钮将 5 个以上的按钮附加到消息,discord.js?

Example

我尝试的方式:

let Buttons = [];
    Buttons[0] = new discordButton.MessageButton().setStyle('gray').setID("0").setLabel(' ');
    Buttons[1] = new discordButton.MessageButton().setStyle('gray').setID("1").setLabel(' ');
    Buttons[2] = new discordButton.MessageButton().setStyle('gray').setID("2").setLabel(' ');

    Buttons[3] = new discordButton.MessageButton().setStyle('gray').setID("3").setLabel(' ');
    Buttons[4] = new discordButton.MessageButton().setStyle('gray').setID("4").setLabel(' ');
    Buttons[5] = new discordButton.MessageButton().setStyle('gray').setID("5").setLabel(' ');
    
    Buttons[6] = new discordButton.MessageButton().setStyle('gray').setID("6").setLabel(' ');
    Buttons[7] = new discordButton.MessageButton().setStyle('gray').setID("7").setLabel(' ');
    Buttons[8] = new discordButton.MessageButton().setStyle('gray').setID("8").setLabel(' ');

msg.channel.send(`⁣...`, { buttons:Buttons });

得到的错误:

DiscordAPIError: Invalid Form Body
components[0].components[5]: The specified component exceeds the maximum width
components[0].components[6]: The specified component exceeds the maximum width
components[0].components[7]: The specified component exceeds the maximum width
components[0].components[8]: The specified component exceeds the maximum width

method: 'post',
  path: '/channels/656858400440975371/messages',
  code: 50035,
  httpStatus: 400
}

是否与我的机器人帐户有关?

建议您通读或参考Discord API documentation,在这里您可以找到以下信息:

  • 按钮必须在操作行内发送
  • 一个操作行最多可以包含 5 个按钮

参考:https://discord.com/developers/docs/interactions/message-components

您可以尝试这样做:

const msg = await message.channel.send({
      embed: YOUR EMBED HERE,
      components: [
        {
          type: 1,
          components: [Button[0], Button[1], Button[2], Button[3], Button[4]],
        },
        {
          type: 1,
          components: [more, buttons, here, max, 5]
        }
        {
          type: 1,
          components: [you, can, do, 5, times]
        }
      ]
  });

希望对您有所帮助 :D