我使用discord.js库和node.js创建一个Discord bot,它可以向用户发送包含按钮的DM。
我想发送一个包含多个按钮的Discord消息,每个按钮都有一个唯一的customId和标签。我当前的方法是使用一个按钮列表。我使用for循环将按钮对象添加到列表中,并将其作为列表传递给.send方法的组件。
x = 5
buttons = []
for (let i = 0; i < x; i++) {
buttons.push(new MessageActionRow().addComponents(
new MessageButton()
.setCustomId(i.toString())
.setLabel(messageSplit[i])
.setStyle('PRIMARY')
)
)
}
msg.reply({ embeds: [embedRecipient], components: buttons })
这是可行的,但每个按钮都是一个新的ActionRow,因此导致按钮在不同的行上。我的意思是:image of buttons each on a different line
如何使按钮的相同功能(如customId和Label)保留在同一行上?将它们全部放在同一个ActionRow中应该可以解决这个问题。我不知道实现该功能的代码。
2条答案
按热度按时间4dbbbstv1#
要将所有按钮放在一个
MessageActionRow
中,只需在for循环外部声明行,然后在循环内部声明行,只需使用.addComponents()
将按钮添加到MessageActionRow
中。示例如下:tpxzln5u2#
我用另一种方式做了一些事情,但我试图为你简化它,就像这样
如果你解决了你想解决的问题,请投我一票