反而计数器返回0,我的代码返回错误

时间:2019-02-15 08:30:23

标签: javascript node.js discord.js

为我的Discord.js机器人创建一个轮询模块,但我不断收到错误消息:

  

无法读取未定义的属性'count'

在计算收集到的反应量时。

我将这个项目用作“深入研究”项目,并一直试图自己获取文档等,我读过其他相对类似的问题并看到了提供的答案,但是无论我怎么尝试,我都无法在自己的代码中实现这些答案。

const reactions5 = await poll5.awaitReactions(reaction => reaction.emoji.name === '\u0031\u20E3' ||
  reaction.emoji.name === '\u0032\u20E3' || 
  reaction.emoji.name === '\u0033\u20E3' || 
  reaction.emoji.name === '\u0034\u20E3' || 
  reaction.emoji.name === '\u0035\u20E3', {
  time: `${sysTime}`
});

const results5 = new Discord.RichEmbed()
  .setColor('#1dd1a1')
  .setFooter('HiveBot - Poll Module')
  .setTitle('The results have been collected!')
  .setDescription(`**__Question__**
                ${pollQuestion}
                **__Votes__**
                **Voted** :one: **-** ${reactions5.get('\u0031\u20E3').count - 1}
                **Voted** :two: **-** ${reactions5.get('\u0032\u20E3').count - 1}
                **Voted** :three: **-** ${reactions5.get('\u0033\u20E3').count -1}
                **Voted** :four: **-** ${reactions5.get('\u0034\u20E3').count - 1}
                **Voted** :five: **-** ${reactions5.get('\u0035\u20E3').count - 1}`)

message.channel.send(results5);

我执行-1,因为我的机器人首先添加了一个反应,以创建一个模板供其他用户点击该反应,因此我希望它返回0,但我只会遇到上述错误。

编辑:如果用户添加反应,则计数变为

  

2-1-1

由于某种原因,当没有人做出反应时,仅使机器人起反应(我看到它起反应0_o),而不是计数

  

1 -1 = 0

我收到上述错误。

希望这可以消除任何混乱。

1 个答案:

答案 0 :(得分:0)

下次当任何人试图确保ReactionCollector确实接收到机器人的反应时,请不要await进行反应的机器人在开始观察它们之前:D

        const poll5 = await message.channel.send(embed5);
            poll5.react('\u0031\u20E3');
            poll5.react('\u0032\u20E3');
            poll5.react('\u0033\u20E3');
            poll5.react('\u0034\u20E3');
            poll5.react('\u0035\u20E3');

        const reactions5 = await poll5.awaitReactions(reaction => reaction.emoji.name === '\u0031\u20E3' || reaction.emoji.name === '\u0032\u20E3' || reaction.emoji.name === '\u0033\u20E3' || reaction.emoji.name === '\u0034\u20E3' || reaction.emoji.name === '\u0035\u20E3', { time: `${sysTime}`})