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
的值。