在 Discord.js 13 中,可以通过以下步骤来实现单击按钮后将其禁用:
new MessageActionRow().addComponents()
方法创建一个按钮组件,并使用 new MessageButton().setStyle()
方法设置按钮的样式,使用 setLabel()
方法设置按钮的标签。new MessagePayload().addComponent()
方法将按钮组件添加到消息中。client.on('interactionCreate', async (interaction) => {})
方法监听按钮点击事件。interaction.customId
获取按钮的 ID,并使用 interaction.update()
方法更新消息。interaction.component.setDisabled(true)
方法将按钮禁用。下面是一个示例代码,演示了如何在 Discord.js 13 中单击按钮后将其禁用:
const { Client, MessageActionRow, MessageButton } = require('discord.js');
const client = new Client();
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}`);
});
client.on('interactionCreate', async (interaction) => {
if (!interaction.isButton()) return;
if (interaction.customId === 'disableButton') {
// 禁用按钮
interaction.component.setDisabled(true);
// 更新消息
await interaction.update({
components: [interaction.message.components],
});
}
});
client.on('messageCreate', async (message) => {
if (message.content === '!button') {
// 创建按钮组件
const button = new MessageActionRow()
.addComponents(
new MessageButton()
.setCustomId('disableButton')
.setLabel('禁用按钮')
.setStyle('PRIMARY')
);
// 发送消息
await message.channel.send({
content: '点击按钮以禁用它',
components: [button],
});
}
});
client.login('YOUR_DISCORD_TOKEN');
在上面的示例代码中,当用户发送 !button
命令时,机器人会发送一条消息,其中包含一个按钮。当用户点击按钮后,按钮会被禁用,并且消息会被更新以显示禁用的按钮。
请注意,上述示例代码中的 YOUR_DISCORD_TOKEN
需要替换为你自己的 Discord 令牌。
希望这个答案能够满足你的需求!如果你有任何其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云