Discord.js 是一个用于构建 Discord 机器人的 Node.js 库。v13 是该库的一个版本,它引入了许多新特性和改进,包括对交互组件(如按钮)的支持。
在 Discord.js v13 中,按钮是一种交互组件,用户可以通过点击按钮来触发特定的动作或命令。
按钮可以用于各种场景,例如:
要检查按钮是否已被按下,你需要使用 Discord.js 提供的交互处理功能。以下是一个简单的示例代码:
const { Client, GatewayIntentBits, MessageActionRow, MessageButton } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent, GatewayIntentBits.Interactions] });
client.once('ready', () => {
console.log(`Logged in as ${client.user.tag}`);
});
client.on('interactionCreate', async interaction => {
if (!interaction.isButton()) return;
if (interaction.customId === 'myButton') {
await interaction.reply({ content: '按钮已被按下!', ephemeral: true });
}
});
client.on('messageCreate', async message => {
if (message.content === '!button') {
const button = new MessageButton()
.setCustomId('myButton')
.setLabel('点击我')
.setStyle('PRIMARY');
const row = new MessageActionRow().addComponents(button);
await message.channel.send({ content: '这是一个按钮', components: [row] });
}
});
client.login('YOUR_BOT_TOKEN');
discord.js
库中的必要模块。Client
实例,并指定需要的 intents。interactionCreate
事件来监听按钮点击事件。如果交互是按钮点击,并且自定义 ID 是 myButton
,则回复一条消息。messageCreate
事件中,如果收到内容为 !button
的消息,则发送一个包含按钮的消息。通过以上代码和解释,你应该能够理解如何在 Discord.js v13 中检查按钮是否已被按下,并实现相应的功能。
领取专属 10元无门槛券
手把手带您无忧上云