2

我正在使用 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的函数的结果,该函数返回一个被拒绝的 promisefetchindex.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"}

我需要帮助了解原始错误的确切原因,以及是否有任何解决方法可以继续运行机器人。

4

1 回答 1

0

我有同样的问题,我刚刚检查了机器人登录令牌,它已经过时了。尝试在 Discord 开发者门户上生成新的机器人令牌!

于 2020-06-06T19:50:51.563 回答