Сбой «шлюза» бота Discord - Discord.js

avatar
st4ck
8 августа 2021 в 15:54
125
1
0

Здравствуйте
Мне нужна помощь, два дня назад мой дискорд-бот начал случайно падать.<58743333478051> Ошибка, с которой я сталкиваюсь:

    events.js:367
    throw err; // Unhandled 'error' event
    ^

Error [ERR_UNHANDLED_ERROR]: Unhandled error. (ErrorEvent {
  target: WebSocket {
    _events: [Object: null prototype] {
      message: [Function],
      open: [Function],
      error: [Function],
      close: [Function]
    },
    _eventsCount: 4,
    _maxListeners: undefined,
    readyState: 2,
    protocol: '',
    _binaryType: 'nodebuffer',
    _closeFrameReceived: false,
    _closeFrameSent: false,
    _closeMessage: '',
    _closeTimer: null,
    _closeCode: 1006,
    _extensions: {},
    _receiver: null,
    _sender: null,
    _socket: null,
    _isServer: false,
    _redirects: 0,
    url: 'wss://gateway.discord.gg/?v=6&encoding=json',
    _req: null,
    [Symbol(kCapture)]: false
  },
  type: 'error',
  message: 'connect ETIMEDOUT 162.159.130.234:443',
  error: Error: connect ETIMEDOUT 162.159.130.234:443
      at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
    errno: -4039,
    code: 'ETIMEDOUT',
    syscall: 'connect',
    address: '162.159.130.234',
    port: 443
  }
})
    at Client.emit (events.js:365:17)
    at WebSocketConnection.onError (C:\Users\Administrator\Desktop\app\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:377:17)
    at WebSocket.onError (C:\Users\Administrator\Desktop\app\node_modules\ws\lib\event-target.js:128:16)
    at WebSocket.emit (events.js:376:20)
    at ClientRequest.<anonymous> (C:\Users\Administrator\Desktop\app\node_modules\ws\lib\websocket.js:568:15)
    at ClientRequest.emit (events.js:376:20)
    at TLSSocket.socketErrorListener (_http_client.js:475:9)
    at TLSSocket.emit (events.js:376:20)
    at emitErrorNT (internal/streams/destroy.js:106:8)
    at emitErrorCloseNT (internal/streams/destroy.js:74:3) {
  code: 'ERR_UNHANDLED_ERROR',
  context: ErrorEvent {
    target: WebSocket {
      _events: [Object: null prototype] {
        message: [Function: onMessage] { _listener: [Function: bound onMessage] },
        open: [Function: onOpen] { _listener: [Function: bound onOpen] },
        error: [Function: onError] { _listener: [Function: bound onError] },
        close: [Function: onClose] { _listener: [Function: bound onClose] }
      },
      _eventsCount: 4,
      _maxListeners: undefined,
      readyState: 2,
      protocol: '',
      _binaryType: 'nodebuffer',
      _closeFrameReceived: false,
      _closeFrameSent: false,
      _closeMessage: '',
      _closeTimer: null,
      _closeCode: 1006,
      _extensions: {},
      _receiver: null,
      _sender: null,
      _socket: null,
      _isServer: false,
      _redirects: 0,
      url: 'wss://gateway.discord.gg/?v=6&encoding=json',
      _req: null,
      [Symbol(kCapture)]: false
    },
    type: 'error',
    message: 'connect ETIMEDOUT 162.159.130.234:443',
    error: Error: connect ETIMEDOUT 162.159.130.234:443
        at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
      errno: -4039,
      code: 'ETIMEDOUT',
      syscall: 'connect',
      address: '162.159.130.234',
      port: 443
    }
  }
}

Приложение падает весь день, иногда после 2 часов использования, иногда после 6 часов использования.
Я думаю, что это связано с гейтавеем, поэтому я попробовал несколько вещей, таких как удаление интернет-соединения с машиной, чтобы посмотреть, падает ли она так же, но это не так. Уже несколько раз переписывал свой код, правда не знаю, в чем проблема.<58743333478057> Замечания: я уже пытался обновить discord.js, не помогло.

Источник
MrMythical
8 августа 2021 в 15:57
1

Какой у вас код? Где сбой?

st4ck
8 августа 2021 в 15:59
0

Он не падает при выполнении команды, он падает случайным образом, как будто я ничего не делаю. Он работает в течение нескольких часов, а затем вылетает.

user15517071
8 августа 2021 в 22:27
1

Похоже, проблема с сетью на вашей стороне.

Ответы (1)

avatar
Wolf Yuan
12 августа 2021 в 11:12
0

Похоже на проблему с сетью, если вы хотите автоматически перезапускать мальчика после сбоя, вы можете использовать Pm2, многофункциональный менеджер процессов, ссылка: https://discordjs.guide/improving-dev-environment/pm2.html