Reputation: 157
I have a message with 3 buttons and I want to disable all 3 of the buttons after they have been clicked.
handle: async function(interaction) {
interaction.deferUpdate();
let components = interaction.message.components[0].components.forEach(c => {
c.setDisabled(true)
})
await interaction.message.edit({embeds: interaction.message.embeds, components: components})
// Do some other stuff
}
I have tried it with
interaction.update()
and multiple other ways but i can't get it to work.
Upvotes: 1
Views: 4151
Reputation: 87
After you deferred your reply with .deferReply()
or .deferUpdate()
you need to use .editReply()
Code @ discordjs.guide
collector.on('collect', async i => {
if (i.customId === 'primary') {
await i.deferUpdate();
await wait(4000);
await i.editReply({ content: 'A button was clicked!', components: [] });
}
});
Upvotes: 2