为我的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
我收到上述错误。
希望这可以消除任何混乱。
答案 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}`})