确保你在正确的地方使用了正确的代码。Button 的视觉效果通常会在 message content 中被定义,在 component/interaction 中被处理。
使用正确的参数。在创建 button 的时候需要特别注意参数的名称和类型。
确认你的代码与最新版本的 Discord.js 兼容。Button 在新版本的 Discord.js 中可能有不同的用法或不再被支持。
对于一个简单的 button 的例子,可以按照以下代码书写(前提是已引入 Discord.js 和 Node.js 模块):
const row = new Discord.MessageActionRow() .addComponents( new Discord.MessageButton() .setCustomId('example_button') .setLabel('Click me!') .setStyle('PRIMARY'), );
client.on('messageCreate', async message => { if (message.content === '!example') { const exampleEmbed = new Discord.MessageEmbed() .setTitle('Example Embed') .setDescription('This is an example of an embed with a button.');
const msg = await message.channel.send({ embeds: [exampleEmbed], components: [row] });
}
});
这段代码将在创建一个新的 message 时,显示一个带有按钮的 embed。在这个示例中,.setCustomId() 实例化了自定义的 button id,.setLabel() 设置了 button 的标签,.setStyle() 设置了 button 的样式(在这里是 “PRIMARY”)。
注意,这是一个简单的 button 的例子。更复杂的应用场景可能需要更多细节和定制。