我有一个bot,它获取用户消息内容,删除用户消息,然后向消息发送私人消息。作者,然后在embed中发送用户消息的内容。在发送几条消息后,bot将发送2条消息,而不是1条,并显示警告。知道怎么修吗?
警告:
superadmin@vps-XXXXXX:~/path$节点test.js(节点: 1059)UnHandledPromiseRejtionWarning: DiscordAPIError:未知消息在请求Handler.execute(路径/node_modules/discord.js/src/rest/RequestHandler.js: 170:25)在进程TicksAndRej的(内部/进程/task_queues.js:97: 5)(节点: 1059)未处理的promise拒绝警告:未处理的promise拒绝。这个错误要么是由于抛出一个没有捕获块的异步函数,要么是由于拒绝了一个没有用. cat()处理的promise。若要在未处理的promise拒绝上终止节点进程,请使用CLI标志--unhanded-rej的拒绝=严格的
(参见https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。将来,未处理的promise拒绝将以非零退出代码终止Node.js进程。
脚本:
const discord = require('discord.js');
const client = new discord.Client;
client.on('message', message => {
if (message.author === client.user && message.channel.id !== (508728211837026325)) {
return;
}
if (message.channel.id == (508728211837026325)) {
message.delete();
message.author.send("Success!");
message.channel.send({
"embed": {
"color": 61183,
"description": message.content + "\n\nCreated by: " + "<@" + message.author.id + ">",
"author": {
"icon_url": "imgururl;",
"url": "imgururl",
"name": "test",
},
timestamp: new Date()
}
})
}
})
client.login('token');
机器人正在被自己激活。
if (message.author === client.user && message.channel.id !== (508728211837026325))
# should probably be
if (message.author === client.user || message.channel.id !== (508728211837026325))
另一方面,通道id是一个twitter雪花,它可以像uint64一样大,对于javascript来说,这意味着你不能处理太大的id,因为限制9007199254740991,所以你应该使用字符串版本。
if (message.channel.id === "508728211837026325")
您描述的行为可能是由于您的bot同时启动了两次。事实上,如果您的机器人启动两次:
阅读这篇文章,它会解决你的问题。
我得到这个错误- (节点:18420)未处理的PromisejectionWarning:TypeError:无法读取未定义的属性“name” (节点:18420)未处理的PromisejectionWarning:未处理的promise拒绝。此错误源于在没有catch块的情况下抛出异步函数的内部,或者拒绝使用未处理的promise。catch()。要在未处理的promise拒绝时终止节点进程,请
我试图让Fastif-cookie工作在我的NestJS项目,我收到以下错误: (节点: 38325)未处理的promise拒绝警告:类型错误:无法读取未定义的属性“装饰请求” 未处理的PromisejectionWarning:未处理的promise拒绝。此错误源于在没有catch块的情况下抛出异步函数的内部,或者拒绝使用未处理的promise。catch()。要在未处理的promise拒绝时终
当下面的代码错误(拒绝其promise)时,我会收到警告。HTTP函数似乎错误很好。我想,本身一定发生了什么事情,这在某种程度上避免了try-catch。 有人能开导我吗?(这是在几次尝试改变事情以使其工作之后。) NodeJS 11.13.0
我试图执行下面的代码,但它在管道中抛出未处理的promise拒绝警告。在本地,它工作正常,没有任何问题。 日志错误:找不到进程“3224”。(节点:836)未处理的PromisejectionWarning:#(节点:836)未处理的PromisejectionWarning:未处理的promise拒绝。此错误源于在没有catch块的情况下抛出异步函数的内部,或者拒绝使用未处理的promise。c
本文档介绍 DM 中各主要告警信息的处理方法。 高可用告警 DM_worker_offline 存在离线的 DM-worker 超过一小时会触发该告警。在高可用架构下,该告警可能不会直接中断任务,但是会提升任务中断的风险。处理告警可以查看对应 DM-worker 节点的工作状态,检查是否连通,并通过日志排查错误。 DM_DDL_error 处理 shard DDL 时出现错误,此时需要参考 DM
我一直得到“UnhandledPromiseRejectionWarning:UnhandledPromiseRejection.此错误源于在没有catch块的异步函数内部抛出,或拒绝未用.catch()处理的Promission.(拒绝ID:2)” 我已经处理了所有的承诺,但错误仍然存在