Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

177
Views
El recopilador de reacciones de Discord no recopila reacciones.

He leído la documentación de discord.js y he estado probando cosas que he estado leyendo, pero ninguna de ellas parece funcionar. El principal problema que tengo es que el cobrador afirma que no ha recopilado nada.

 if (message.content === 'poll') { let embedPoll = new Discord.MessageEmbed() .setTitle('😲 DaSquad 😲') .setColor('YELLOW') .addField('1:', 'name') .addField('2:', 'name2') .addField('3:', 'name3') .addField('4:', 'name4') .addField('5:', 'name5') .addField('6:', 'name6') .addField('7:', 'name7') .addField('8:', 'name8'); let msgEmbed = await message.channel.send({ embeds: [embedPoll] }); await msgEmbed.react('1️⃣'); await msgEmbed.react('2️⃣'); await msgEmbed.react('3️⃣'); await msgEmbed.react('4️⃣'); await msgEmbed.react('5️⃣'); await msgEmbed.react('6️⃣'); await msgEmbed.react('7️⃣'); await msgEmbed.react('8️⃣'); const filter = (reaction) => reaction.emoji.name === '1️⃣' || reaction.emoji.name === '2️⃣' || reaction.emoji.name === '3️⃣' || reaction.emoji.name === '4️⃣' || reaction.emoji.name === '5️⃣' || reaction.emoji.name === '6️⃣' || reaction.emoji.name === '7️⃣' || reaction.emoji.name === '8️⃣'; const collector = new Discord.ReactionCollector(msgEmbed, filter); console.log(collector.collected); }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En lugar de la clase ReactionCollector , puede usar awaitReactions o createReactionCollector que está disponible en el objeto de mensaje que ha enviado ( msgEmbed ).

Si usa discord.js v13, los métodos awaitReactions y createReactionCollector aceptan un solo parámetro y el filter ahora es parte del objeto de options . (Consulte Cambios en v13 ). Por lo tanto, debe actualizar eso; pasar un solo objeto con el filter .

Otro error es que intenta leer las reacciones recopiladas ( collector.collected ) con un simple console.log justo después de crear una instancia del recopilador. En su lugar, debe configurar detectores de eventos y suscribirse a los eventos collect (y probablemente stop ).

Asegúrate de agregar las intenciones GUILD_MESSAGE_REACTIONS . Puede leer más sobre los colectores de reacción aquí .

Y una cosa más, podrías crear una matriz con todos los emojis con los que quieras reaccionar para hacerte la vida un poco más fácil.

Echa un vistazo al código a continuación:

 if (message.content === 'poll') { let embedPoll = new Discord.MessageEmbed() .setTitle('😲 DaSquad 😲') .setColor('YELLOW') .addField('1:', 'name') .addField('2:', 'name2') .addField('3:', 'name3') .addField('4:', 'name4') .addField('5:', 'name5') .addField('6:', 'name6') .addField('7:', 'name7') .addField('8:', 'name8'); let reactions = ['1️⃣', '2️⃣', '3️⃣', '4️⃣', '5️⃣', '6️⃣', '7️⃣', '8️⃣']; let msgEmbed = await message.channel.send({ embeds: [embedPoll] }); reactions.forEach((reaction) => msgEmbed.react(reaction)); const filter = (reaction) => reactions.includes(reaction.emoji.name); const collector = msgEmbed.createReactionCollector({ filter }); // code inside this runs every time someone reacts with those emojis collector.on('collect', (reaction, user) => { console.log(`Just collected a ${reaction.emoji.name} reaction from ${user.username}`); }); }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!