程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了试图编写一个内部服务器笑话但不起作用我该如何解决?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决试图编写一个内部服务器笑话但不起作用我该如何解决??

开发过程中遇到试图编写一个内部服务器笑话但不起作用我该如何解决?的问题如何解决?下面主要结合日常开发的经验,给出你关于试图编写一个内部服务器笑话但不起作用我该如何解决?的解决方法建议,希望对你解决试图编写一个内部服务器笑话但不起作用我该如何解决?有所启发或帮助;

所以在我的服务器中有一个内部笑话,有人说 9 + 2 = 12,所以我正在对我的机器人进行编码,所以当有人说 ,cal 9 + 2 时,机器人会显示一个嵌入,上面写着计算器作为标题,以及12,效果很好,但任何其他计算都不起作用,代码如下:

const Math = require("mathJs");

module.exports = {
    name: "cal",description: "Calculates something",async execute (ClIEnt,message,args,discord){
        const lol = '12'
        const Lol = '9 + 2'

        if(!args[0]) return message.chAnnel.send("Please provIDe a question to solve");

        let resp;

        try{
            resp = Math.evaluate(args.join(" "))
        } catch (E) {
            return message.chAnnel.send("Please provIDe a **valID** question to answer")
        }
        if(args[0] = '9+2' || '9 + 2' || '9+ 2' || '9 +2'){
            const embed = new discord.messageEmbed()
            .setcolor("RANDOM")
            .settitle("Calculator")
            .addFIEld("Question",`\`\`\`CSS\n${Lol}\`\`\``)
            .addFIEld("Answer",`\`\`\`CSS\n${lol}\`\`\``)

            message.chAnnel.send(embed);
        }
        else{
            const embed = new discord.messageEmbed()
            .setcolor("RANDOM")
            .settitle("Calculator")
            .addFIEld("Question",`\`\`\`CSS\n${args.join(" ")}\`\`\``)
            .addFIEld("Answer",`\`\`\`CSS\n${resp}\`\`\``)

            message.chAnnel.send(embed);
        }
    }
}

没有 if 函数的脚本,数学部分完美运行!但笑话不在那里。

解决方法

您的问题出在这一行:

if(args[0] = '9+2' || '9 + 2' || '9+ 2' || '9 +2'){

首先,= 仅用于赋值,例如 const foo = 'bar'。为了进行比较,请使用三等号,例如 'foo' === 'foo'

其次,x === y || z 实际上并没有按照您的想法行事。逻辑 OR 运算符 (||) 两侧的语句将始终完全分开计算。以上并不意味着,“x 等于 yz”,而是“x 等于 y,或 z 是真的"

// this means that something like this
// will always return truthy.
// if you separate the two statements,// the second will always be truthy because
// a String,by itself,*is* truthy

if (true === false || 'Hello') {
  console.log('It passed');
};

您必须采用更详细的选项,而不是 x === y || z,即:

x === y || x === z /* ... */

或者,您可以使用 Array#includes(),并将所有有效字符串放入一个数组中:

// x === y || x === z
[y,z].includes(X);

但是,对于您的情况,我认为最好的选择是使用 RegExp#test(),并带有一个正则表达式,例如:^9\s*\+\s*2$:

if (/^9\s*\+\s*2$/.test(message.content)) {
  // ...
}
,

这是一种方法(我不知道它是否有效...):

    const hi = [ ',cal 9+12',',cal 9 +12',cal 9+ 12']
    if(hi.includes(message.content.toLowerCase())) {
  

        const embed = new Discord.messageEmbed()
            .setColor("RANDOM")
            .settitle("Calculator")
            .addField("Question",`\`\`\`css\n${LOL}\`\`\``)
            .addField("Answer",`\`\`\`css\n${lol}\`\`\``)

            return message.chAnnel.send(embed)

    }

我知道有很多方法可以做得更好,但这是我的。

大佬总结

以上是大佬教程为你收集整理的试图编写一个内部服务器笑话但不起作用我该如何解决?全部内容,希望文章能够帮你解决试图编写一个内部服务器笑话但不起作用我该如何解决?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: