guilds.verificationLevel 无法正确执行自定义输出

guilds.verificationLevel is not able to properly do a custom output

当我在 Discord.JS 中尝试增强我的 aboutserver 命令时,我意识到你可以自定义输出,比如如果输出是 1 你可以让它说别的而不是 1,比如验证级别是低的。我为我的 explicitContentFilter 和我的命令的 verificationLevel 部分做了这个,他们设法得到了自定义消息,但只得到了代码每个部分的最后一个。当我调整审核或 eCF 时,自定义消息在 运行 命令时保持不变。

我试过从代码中删除 backticks(if (serv.explicitContentFilter = `1`) => (`if (serv.explicitContentFilter = 1) 但是没有做出改变。我尝试像这样将 ?Number:1 添加到末尾:if (serv.explicitContentFilter?Question:1) { 并且代码不起作用,它一直卡住,我什至尝试调整代码的位置,我尝试删除 else 部分代码在最后。没有进行更改。

async run(message, args){
    if (message.channel instanceof discord.DMChannel) return message.channel.send('This command cannot be executed here.')
    else
    var serv = message.guild

    if (serv.explicitContentFilter = `0`) {
        var eFC = "Don't Scan Any messages";
    } else {
        var eFC = serv.explicitContentFilter;
    }
    if (serv.explicitContentFilter = `1`) {
        var eFC = "Scan for users without a role.";
    } else {
        var eFC = serv.explicitContentFilter;
    }
    if (serv.explicitContentFilter = `2`) {
        var eFC = "Scan every message";
    } else {
        var eFC = serv.explicitContentFilter;
    }
///////////////////////////////////////////////////////////////////////////////////////////////////
    if (serv.verificationLevel = `4`) {
        var verL = "Intense (Verified Account & Verified Phone linked)";
    } else {
        var verL = serv.verificationLevel;
    }    

    if (serv.verificationLevel = `3`) {
        var verL = "Secure (Verified Account & Guild member for 10+ minutes)";
    } else {
        var verL = serv.verificationLevel;
    }    

    if (serv.verificationLevel = `2`) {
        var verL = "Medium (Verified Account for 5 minutes+)";
    } else {
        var verL = serv.verificationLevel;
    }    

    if (serv.verificationLevel = `1`) {
        var verL = "Low (Verified Account)";
    } else {
        var verL = serv.verificationLevel;
    }    

    if (serv.verificationLevel = `0`) {
        var verL = "None (No Restriction)";
    } else {
        var verL = serv.verificationLevel;
    }    

    var myInfo = new discord.RichEmbed()
        .setAuthor(`${serv.name}'s guild info`,`${serv.iconURL}`)
        .addField(`AFK Channel`,`${serv.afkChannel}`,true)
        .addField(`AFK Timeout`,`${serv.afkTimeout}s`,true)
        .addField(`Channels`,`${serv.channels.size}`,true)
        .addField(`Creation of Guild`,`${serv.createdAt}`,true)
        .addField(`Explicit Content Filter Level`, eFC,true)
        .addField(`How much members`,`${serv.memberCount}`,true)
        .addField(`Moderation Level`,`${serv.mfaLevel}`,true)
        .addField(`Owner`,`${serv.owner}`,true)
        .addField(`Region`,`${serv.region}`,true)
        .addField(`Roles`,`${serv.roles}`,true)
        .addField(`Verification Level`, verL,true)
        .addField(`AFK Channel`,`${serv.afkChannel}`,true)
        .setColor(0xf0e5da)
        .setFooter('p!aboutserver')
        .setThumbnail(`${message.guild.iconURL}`)


        message.channel.sendEmbed(myInfo);

}

}

我希望机器人能够找到公会的验证级别并将自定义输出发回嵌入消息中 if verification level is 3 then the custom output is verification level is medium

问题是机器人说的是相同的自定义消息,当针对特定设置更改公会的审核设置时,它说的是错误消息/设置更改前说的相同消息。

要检查某些内容,请使用 === 正在分配给一个变量。

您的代码

if (serv.verificationLevel = `2`) {
        var verL = "Medium (Verified Account for 5 minutes+)";
    } else {
        var verL = serv.verificationLevel;
    }    

正在检查常规文本。

Discord.JS 查找公会验证级别的方法使用数字。

这样想。

0≠0

0≠数字

0 = 0

0 = 数字

简单地从每个值要求的内容中删除 tillas,就像@PLASMA chicken 说的那样,放入 == 甚至使用 === 就像在 [=16= 中使用 = ] 语句在某些情况下会反转他们正在寻找的内容。