Javascript SyntaxError:预期值(字符1)

Javascript SyntaxError:预期值(字符1),javascript,discord.js,math.js,Javascript,Discord.js,Math.js,我正在试着做一个!计算Discord.js v12中的命令。 我正在使用,这是我当前的代码: client.on('message',msg=>{ 如果(!msg.content.startsWith(“!”)返回; 常量args=msg.content.split(/[\]/g); const cmd=args[0].slice(1).toLowerCase(); 开关(cmd){ 案例“计算”: 案例“计算”: 如果(!args[0])返回msg.channel.send('请输入计算');

我正在试着做一个
!计算Discord.js v12中的
命令。 我正在使用,这是我当前的代码:

client.on('message',msg=>{
如果(!msg.content.startsWith(“!”)返回;
常量args=msg.content.split(/[\]/g);
const cmd=args[0].slice(1).toLowerCase();
开关(cmd){
案例“计算”:
案例“计算”:
如果(!args[0])返回msg.channel.send('请输入计算');
让我们分别;
试一试{
resp=math.evaluate(args.join(“”));
}捕获(e){
控制台日志(e);
}
const membed=new Discord.MessageEmbed()
.setColor(“#ffaa00”)
.setTitle(“数学计算”)
.addField('Input',`css\n${args.slice(1).join(''')}`
.addField('Output',`css\n${resp}``);
msg.channel.send(membed);
打破
但是,我得到以下控制台错误:

SyntaxError: Value expected (char 1)
    at createSyntaxError (D:\Documents\test\Node.js\Discord.js\calculate\node_modules\mathjs\lib\expression\parse.js:1705:17)
    at parseEnd (D:\Documents\test\Node.js\Discord.js\calculate\node_modules\mathjs\lib\expression\parse.js:1669:13)
    at parseParentheses (D:\Documents\test\Node.js\Discord.js\calculate\node_modules\mathjs\lib\expression\parse.js:1655:12)
    at parseNumber (D:\Documents\test\Node.js\Discord.js\calculate\node_modules\mathjs\lib\expression\parse.js:1626:12)
    at parseObject (D:\Documents\test\Node.js\Discord.js\calculate\node_modules\mathjs\lib\expression\parse.js:1607:12)
    at parseMatrix (D:\Documents\test\Node.js\Discord.js\calculate\node_modules\mathjs\lib\expression\parse.js:1532:12)
    at parseSingleQuotesString (D:\Documents\test\Node.js\Discord.js\calculate\node_modules\mathjs\lib\expression\parse.js:1433:12)
    at parseDoubleQuotesString (D:\Documents\test\Node.js\Discord.js\calculate\node_modules\mathjs\lib\expression\parse.js:1382:12)
    at parseSymbol (D:\Documents\test\Node.js\Discord.js\calculate\node_modules\mathjs\lib\expression\parse.js:1270:12)
    at parseCustomNodes (D:\Documents\test\Node.js\Discord.js\calculate\node_modules\mathjs\lib\expression\parse.js:1239:12) {
  char: 1
}
嵌入的内容如下所示:


您处理的
args
数组不正确。有两个问题:

  • args[0]
    需要更改为
    args[1]
    ,就像
    args[0]
    一样 引用命令,而不是计算

    if(!args[0])返回msg.channel.send('请输入一个计算');
    //应该成为
    如果(!args[1])返回msg.channel.send('请输入一个计算');
    
  • args.join(“”)
    需要更改为
    args.slice(1).join(“”)
    ,以便它只包含计算,而不包含开始时的命令

    resp=math.evaluate(args.join(“”));
    //应该成为
    resp=math.evaluate(参数切片(1).join(“”));
    

  • args的内容是什么?我的命令处理程序是:``if(!msg.content.startsWith('!')return;const args=msg.content.split(/[\]/g);const cmd=args[0].slice(1).toLowerCase();switch(cmd){``如果这是你要做的?不,我是在运行时当错误发生时询问
    args
    的值。