Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

280
Vistas
Cómo deshabilitar el botón después de hacer clic en discord.js v12

Discord.js v12 Deshabilitar función de botones


¿Cómo desactivo un botón en discord.js después de hacer clic en él? Intenté usar la función collecter.on, ya que parece funcionar, pero no puedo hacer que funcione con mi código y lo sé, no copié y pegué, pero parece que no puedo resolverlo y es estresante. Yo mucho, busqué en toda la web para obtener respuestas, pero nada en ninguna parte. la guía discord-buttons js acaba de desaparecer. Bueno, has venido al lugar correcto, simplemente puedes hacer lo siguiente a continuación, se explica y realmente puede ayudarte 😃.


Entonces, debido a que la última respuesta no fue correcta pero tenía algunos formatos correctos, esto es lo que quieres hacer. El código se explica lo mejor que puedo a continuación.


El código:

 // After you have made your buttons and the embed you then need to do // You can do this method a lot of times just make sure to add a cooldown. // You can also do the same with the MessageActionRow() constructor const embed = new Discord.MessageEmbed().setColor('red').setDescription('click the below buttons').setTimestamp() const dbutton = new MessageButton().setStyle('blurple').setID('lol').setLabel('disabled button').setDisabled(true).setEmoji('😃') const button = new MessageButton().setStyle('blurple').setID('yes').setLabel('enabled button').setEmoji('😃') const after = await message.channel.send({ embed: embed, components: [button] }) client.on("clickButton", async (button) => { if (button.id === "yes") { message.channel.send({ content: "you clicked the first button" }) after.edit({ embed: embed, components: [dbutton] }) } button.reply.defer(); });

El embed: y components: son compatibles con v12. Espero que esto te haya ayudado con más preguntas.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La clase MessageButton tiene un método "setDisabled" que puede establecer en verdadero.

Cuando termine, no lo desactivará automáticamente. Debe editar la inserción, pasando los componentes nuevamente.

 const button11 = const row = new MessageActionRow() .addComponents( new MessageButton() .setStyle('green') .setID('yes') .setLabel('Lock') .setEmoji('🔒') ) const supportembedy = new Discord.MessageEmbed() .set(....) let botMsg = await channel.send(supportembedy, row); const filter = i => ((i.customId === "yes") || (i.customId === "no")) && i.user.id === message.author.id const collector = interaction.channel.createMessageComponentCollector({filter, time: 15000}) collector.on("collect", async (i) => { if (i.customId === 'yes') { row[0].setDisabled(true) // first way botMsg.edit({ embeds: [supportembedy], components: [row] }) //second way i.update({ embeds: [supportembedy], components: [row] }) } }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda