Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

269
Visualizações
Discord.js cómo usar el botón varias veces
const filter = (interaction) => { if (interaction.user.id === message.author.id) return true; return interaction.reply({ content: "An error has occurred", ephemeral: true }) } const collectorValue1 = message.channel.createMessageComponentCollector({ filter, max: 1 }) collectorValue1.on("end", (ButtonInteraction) => { const id = ButtonInteraction.first().customId; if (id == '1') { ButtonInteraction.first().reply({ content: "CONTENT", ephemeral: true }) } else if (id == '2') { ButtonInteraction.first().reply({ content: "CONTENT", ephemeral: true }) } else if (id == '3') { ButtonInteraction.first().reply({ content: "CONTENT.", ephemeral: true }) } })

Me gustaría que cuando se crean los botones sean ejecutables múltiples, sin embargo, solo puedo usar el botón una vez, después de eso siempre recibo el mensaje "Esta interacción falló". ¿Cómo puedo hacer que los botones sean ejecutables múltiples?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Por favor intenta lo siguiente:

 collectorValue1.on("end", (ButtonInteraction) => { ButtonInteraction.deferUpdate(); const id = ButtonInteraction.first().customId; if (id == '1') { ButtonInteraction.first().editReply({ content: "CONTENT", ephemeral: true })

Use deferUpdate() de la misma manera en cada una de las sentencias if. Sin embargo, tenga en cuenta que cuando use deferUpdate(), deberá cambiar el método .reply() a .editReply().

Puede intentar poner deferUpdate() en la definición del filtro.

No hay mucha orientación en el sitio web de Discord.js ni documentación sobre el uso de deferUpdate(). Sin embargo, obtenga lo que pueda de la documentación. Aquí hay un ejemplo de los documentos:

 // Defer updating and reset the component's loading state interaction.deferUpdate() .then(console.log) .catch(console.error);

En particular, el comentario menciona que "restablece el estado de carga del componente". Creo que esto está relacionado con la forma en que permite usar un botón varias veces.

Espero que esto haya sido útil:]

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda