所以我正在尝试制作一个通过命令为我快速计算数学的机器人。我的前缀是da$h
,命令是付款。例如,当我尝试该命令da$h payment 1 + 1
时,每次都会遇到相同的错误。我正在使用mathjs
节点顺便说一句。
我尝试将 await 放在发送函数之前,并将 async 放在所有返回函数的前面,但我得到了同样的错误。
const math = require('mathjs');
const Discord = require('discord.js');
exports.run = (client, message, args, tools) => {
if (!args[0]) return message.channel.send('Please input a calculation,');
let resp;
try {
resp = math.evaluate(args.join(' '));
} catch (e) {
return message.channel.send('Sorry, please input a valid calculation');
}
const embed = new Discord.RichEmbed()
.setColor(0xffffff)
.setTitle('Math Calculation')
.addField('Input', `\`\`\`${args.join(' ')}\`\`\``)
.addField('Output', `\`\`\`js${resp}\`\`\``)
message.channel.send(embed);
}
这是我不断收到的错误:
节点:18876)UnhandledPromiseRejectionWarning:DiscordAPIError:无法在 item.request.gen.end 发送空消息(C:\Users\Admin\Desktop\coding\node_modules\Discord.js\src\client\rest\RequestHandlers\Sequential.js :71:65) 然后 (C:\Users\Admin\Desktop\coding\node_modules\snekfetch\src\index.js:204:21) 在 process._tickCallback (internal/process/next_tick.js:68:7) (节点:18876)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。(拒绝 ID:2)(节点:18876)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。