Perché non contare le reazioni

0

Domanda

Il mio obiettivo qui è quello di contare le reazioni, ma quando ho reagire sulla reazione che il bot non contano, e se due persone reagiscono io di solito ottenere le due reazioni.

collector.on('end', (collected) => {
  let i = 0;

  const collectedembed = new Discord.MessageEmbed();

  collected.forEach((value) => {
    i++;

    collectedembed.setTitle(question);
    if (i === 1) {
      collectedembed.addField('1st option', value.content);
    } else if (i === 2) {
      collectedembed.addField('2nd option', value.content);
    }
  });

  message.channel.send({ embeds: [collectedembed] }).then((poll) => {
    poll.react('1️⃣');
    poll.react('2️⃣');

    const filter2 = (reaction, user) => {
      return ['1️⃣', '2️⃣'].includes(reaction.emoji.name) && user.id === message.author.id;
    };

    const collector2 = poll.createReactionCollector({ filter: filter2, time: 5000 });

    collector2.on('end', (collected) => {
      poll.channel.send(
        `reacted with 1️⃣ ${poll.reactions.cache.get('1️⃣').count} users \n reacted with 2️⃣${
          poll.reactions.cache.get('2️⃣').count
        } users`,
      );
    });
  });
});

ecco un esempio di immagine del mio problema:

enter image description here

discord discord.js javascript
2021-11-23 10:30:15
1

Migliore risposta

0

Si dovrebbe contare la quantità di ciascuna delle reazioni ricevute utilizzando il <Collection> parametro di <ReactionCollector>.on('end', ...) metodo della funzione di callback:

collector2.on('end', collected => {
    poll.channel.send(collected.map(reaction => `${reaction.emoji} » ${reaction.count} Users`).join('\n'));
});
2021-11-23 11:22:42

yeap thats lavoro, tahnks!
Navid

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................