因此,我尝试从使用express.js 构建的网站后端将一个嵌入内容和两个按钮发送到使用discord.js 的Discord。所以,这是我的源代码:-
const buttons = new MessageActionRow()
buttons.addComponents(
new MessageButton()
.setLabel('View Purchase')
.setStyle('LINK')
.setURL(`...`), // url is present
)
buttons.addComponents(
new MessageButton()
.setLabel('View Payment')
.setStyle('LINK')
.setURL(`...`), // url is present
)
const embed = new MessageEmbed()
// creating the embed
await webhook.send({ embeds: [embed], components: [buttons] })
我删除了不必要的代码。因此,如果我运行此命令,则会发送嵌入内容,但不会发送按钮,并且除了一些不相关的警告之外,没有任何错误。
(node:13492) DeprecationWarning: Passing strings for MessageEmbed#setFooter is deprecated. Pass a sole object instead.
[0] (Use `node --trace-deprecation ...` to show where the warning was created)
将 .setFooter 更改为这种样式:
.setFooter({text: "your text", iconURL: "your link"
根据 Discord 文档,Webhook 必须由应用程序拥有,这意味着您的 Discord 机器人必须首先创建 Webhook 才能向 Webhook 添加按钮(这也适用于所有其他消息组件)。