【问题标题】:Discord.js counting systemDiscord.js 计数系统
【发布时间】: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)?
  • 嗯,让我试试。

标签: javascript node.js discord discord.js


【解决方案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 .

【讨论】:

    猜你喜欢
    • 2019-04-30
    • 2020-12-17
    • 2020-11-06
    • 2019-10-13
    • 2021-11-16
    • 2022-12-08
    • 2021-12-01
    • 2011-10-24
    • 2021-08-13
    相关资源
    最近更新 更多