【发布时间】:2020-01-13 21:35:22
【问题描述】:
所以我正在尝试制作一个通过命令为我进行快速数学运算的机器人。我的前缀是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);
}
这是我不断收到的错误:
node: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() 处理的承诺。 (拒绝编号:2) (节点:18876)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。
【问题讨论】:
-
您是否尝试将
.catch()放在所有message.channel.send()上?
标签: javascript discord discord.js mathjs