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

Som*_*son 0 javascript node.js discord.js

当我尝试在 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);

}

}
Run Code Online (Sandbox Code Playgroud)

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

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

PLA*_*ken 5

要检查某些东西使用===是分配给一个变量。

  • 你甚至可以使用`===`,使用这篇文章来了解有什么区别:https://codeburst.io/javascript-double-equals-vs-triple-equals-61d4ce5a121a (2认同)