我正在使用 node.js 模块discord.js使用 Discord 机器人。
最近,在使用工作 wifi 时(当机器人尝试登录时)出现错误,我认为它以某种方式配置导致其中断。
(node:104) UnhandledPromiseRejectionWarning: FetchError: request to https://discordapp.com/api/v7/gateway/bot failed, reason: read ECONNRESET
at RequestHandler.execute (C:\Users\user\Desktop\Discord Bot\node_modules\discord.js\src\rest\RequestHandler.js:106:9)
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:104) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:104) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
错误是从文件中抛出的,该文件RequestHandler.js
使用文件中的 APIRequest 方法make
,该文件返回来自文件APIRequest.js
的函数的结果,该函数返回一个被拒绝的 promise。fetch
index.js
该变量req
是从 https 模块的方法返回ClientRequest
的(来自模块_http_client
) 。request
如果我注释掉,req.on('error', function (err) { ... });
我会收到以下错误:
events.js:167
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at TLSWrap.onStreamRead (internal/stream_base_commons.js:111:27)
Emitted 'error' event at:
at TLSSocket.socketErrorListener (_http_client.js:391:9)
at TLSSocket.emit (events.js:182:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
我相信这是从这里抛出的,但它是 Node.js ( ) 的一个内部模块internal/stream_base_commons.js
,我无法对其进行编辑并继续深入跟踪。必须编辑和重新编译,这不是我知道该怎么做的事情。
当我去https://discordapp.com/api/v7/gateway/bot我得到响应:
{"code": 0, "message": "401: Unauthorized"}
我需要帮助了解原始错误的确切原因,以及是否有任何解决方法可以继续运行机器人。