J'essayais donc de créer ma propre version d'un système de comptage pour mon serveur, comme le font d'autres robots tels que COUNTR, alors j'ai fait ce qui suit:

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("❌");
    };
};

Pourtant, quand je l'essaye, cela ne semble pas fonctionner. Est-ce que quelqu'un sait ce que je fais de mal?

0
aakhilv 22 févr. 2021 à 17:47

1 réponse

Meilleure réponse

Très bien, je l'ai résolu comme indiqué ci-dessous:

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("❌");
    };
};

J'ai compris que la raison était que === vérifie à la fois la valeur et le type (crédit à Zsolt) et l'ancienne méthode que j'utilisais pour vérifier si c'était un nombre ne fonctionnait pas, alors je l'ai changé en {{X1} }.

0
aakhilv 22 févr. 2021 à 15:04