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

243
Visualizações
¿Por qué mi recopilador de interacciones no recopila? (discord.js)

Soy un codificador principiante en javascript y especialmente en discord.js Después de entender la guía de discord.js, todavía no puedo hacer que el recopilador funcione.

 client.on('interactionCreate', interaction => { if (!interaction.isButton()) return; const filter = i => i.customId === '1' || i.customId === "2"; const collectchannel = interaction.channel; const collector = collectchannel.createMessageComponentCollector( filter, { time: 10000 }); collector.on('collect', i => { if (i.customId === '1') { client.commands.get('help').execute(interaction, 1, Discord); } else if (i.customId === '2') { client.commands.get('help').execute(interaction, 2, Discord); } }); collector.on('end', collected => { console.log(`Collected ${collected.size} interactions.`); }); });

Cuando presiono mi botón, la función de recolección no hace nada. Intenté colocar un console.log("test") pero no se dispara. Sin embargo, el collector.on('end', collected => { de hecho se dispara. Esto puede deberse a que no soy un buen codificador. Si puede, ¡ayúdeme!

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

0

Tiene un MessageComponentCollector dentro de un controlador de eventos para el evento interactionCreate , que, en esta circunstancia, probablemente no sea lo que desea.

Esto es lo que está pasando:

  1. Haces clic en el botón

  2. Su controlador eventCreate dispara, verifica si se está haciendo clic en un botón e inicia MessageComponentCollector

  3. El MessageComponentCollector espera que se haga clic en un botón y aún no se activa porque ya sucedió uno (el que activó su controlador de interactionCreate en primer lugar)

  4. Cada vez que vuelve a hacer clic en el botón, el recopilador se activa, pero el controlador de interactionCreate también lo hace, y vuelve al #2 , iniciando otro recopilador.


Lo que probablemente quieras es manejar los clics de tus botones sin un recopilador:

 client.on('interactionCreate', interaction => { if (!interaction.isButton()) return; if (i.customId === '1') { client.commands.get('help').execute(interaction, 1, Discord); } else if (i.customId === '2') { client.commands.get('help').execute(interaction, 2, Discord); } });
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