为什么它仍然放在右舷,即使它的反应量不合适?Discord.js



我正在执行右舷命令,问题出在这里。星数设置为3,但当我只反应1次时,它仍然会将其放入右舷

这是代码

if (user.partial) await user.fetch();
if (reaction.partial) await reaction.fetch();
if (reaction.message.partial) await reaction.message.fetch();
if (reaction.emoji.name === "⭐"){
if (reaction.count == starboardnum || 3){
// rest of code
}

图片链接:

https://i.stack.imgur.com/wUeoK.png

错误很可能与==在||之前求值有关,这意味着如果reaction.count不等于starboardnum,它将在if语句中使用3,这在Javascript中是一个truthy值。

修复很简单,只需在starboardnum || 3周围放上括号,如下所示:

if (reaction.count == (starboardnum || 3)){

最新更新