Коллекция реакций (смайликов) и получение точного числа - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь создать функцию опроса на своем боте. Все работает нормально, кроме сборников эмодзи.

        const filter = (reaction, user) => {
        return ['?', '?'].includes(reaction.emoji.name)
    };
    reactions = msg.awaitReactions(filter, {time: 10000, errors: ['time']})
.catch(collected => {
    const thumbsUp = reactions.get('?').size;
    const thumbsDown = reactions.get('?').size;
    const emberResult = new Discord.MessageEmbed ()
    .setTitle(`Results of: ${sugg}`)
    .addField("?", `Votes: ${thumbsUp.count-1}`)
    .addField("?", `Votes: ${thumbsDown.count-1}`)
    .setColor(color)

    msg.channel.send(emberResult);

})

Это дает мне ошибку reactions.get is not a function

Мне просто нужно понять, как получить количество реакций эмодзи и поместить эти числа в массив, чтобы затем я мог использовать его в сообщение и скажите пользователям «вот количество ваших голосов ?: 1, ?: 2»

1 Ответ

0 голосов
/ 27 мая 2020

Вы вызываете операцию .size в реакции, когда вы go

const thumbsUp = reactions.get('?').size;  <-- .size

Это верно, однако это возвращает целочисленное значение в качестве ответа, устанавливающего для переменной thumbsUp целое число. Это означает, что когда вы вызываете:

thumbsUp.count

Вы вызываете функцию подсчета для целого числа, попробуйте использовать только thumbsUp .

...