Discord.js 计数系统
Posted
技术标签:
【中文标题】Discord.js 计数系统【英文标题】:Discord.js counting system 【发布时间】:2021-05-24 19:50:25 【问题描述】:所以我试图为我的服务器制作我自己版本的计数系统,就像其他机器人(如 countr)一样,所以我做了以下操作:
if (message.channel.id === "794733520458612736")
const numdb = db.get("numdb");
if (message.content === numdb)
db.add("numdb", 1);
message.react("✅");
else if (typeof message.content === "number")
db.set("numdb", 1);
message.channel.send(`$message.author ruined it at **$numdb**! The next number is **1**.`);
message.react("❌");
;
;
然而,当我尝试它时,它似乎不起作用。有谁知道我做错了什么?
【问题讨论】:
等一下,我是否必须将&& message.content !== numdb
添加到 else if 中?编辑:不,仍然不起作用。
message.content
将始终是一个字符串。 numdb
是数字吗?三等号也检查值和类型。这是否适用于双等号 (message.content == numdb
)?
嗯,让我试试。
【参考方案1】:
好的,我解决了如下图:
if (message.channel.id === "794733520458612736")
const numdb = db.get("numdb");
if (message.content == `$numdb`)
db.add("numdb", 1);
message.react("✅");
else if (!isNaN(message.content) && message.content != `$numdb`)
db.set("numdb", 1);
message.channel.send(`$message.author ruined it at **$numdb-1**! The next number is **1**.`);
message.react("❌");
;
;
我发现原因是因为===
同时检查了值和类型(归功于 Zsolt),而我用来检查它是否是数字的旧方法不起作用,所以我将其切换为 isNaN
.
【讨论】:
以上是关于Discord.js 计数系统的主要内容,如果未能解决你的问题,请参考以下文章
discord.js 成员计数 - 无法读取未定义的属性“通道”
Discord.js 集合;如何从集合中的数组中导航和抓取/计数对象
Discord.js - 发送消息的计数器,DM给公会的所有成员