【问题标题】:Not receiving the "ready" event when connection to Discord websocket连接到 Discord websocket 时未收到“就绪”事件
【发布时间】:2020-11-21 20:11:58
【问题描述】:

我目前正在尝试制作一个连接到 Discord API 并能够为我的机器人提供服务器数量的 node.js 程序。我已经就这个话题提出了一些问题,如果你对此感兴趣,请查看我的帐户。目前程序可以连接网关,心跳,接收GUILD_CREATEGUILD_DELETE事件,所以该部分全部工作。目前,我正在尝试在网关不可避免地断开连接时重新连接和恢复功能。在 Discord API 文档中,它说用于重新连接的会话 ID 包含在 Ready 事件中,该事件是“在初始握手之后”发送的,但是我没有看到任何类型的 Ready 事件发送。

我得到的事件顺序是:

  1. 我正在请求一个 URL 以通过 XMLHttpRequest 连接并获得响应
  2. 我正在连接到 URL 并收到一个“连接”事件
  3. API 发送操​​作码 10“Hello”消息
  4. 我开始使用服务器进行心跳检测
  5. 我向服务器发送操作码 2“识别”
  6. 我收到第一个操作码 11 心跳确认。
  7. 我开始收到 GUILD_CREATE 公会的事件,然后是之后的所有其他事件

在这一系列事件中,没有任何地方发送“就绪”,或者至少我没有收到。我尝试记录我收到的每一条数据,但仍然没有“准备好”。有谁知道“就绪”在我的事件序列中的哪个位置,或者我需要做什么才能看到它?

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    问题是我的if 语句之一没有在需要时记录数据并跳过“就绪”。我设法通过更改它们的顺序来解决问题,以使我的所有事件都能正确记录。

    【讨论】:

      猜你喜欢
      • 2019-10-27
      • 2021-02-10
      • 2016-05-31
      • 1970-01-01
      • 1970-01-01
      • 2017-06-25
      • 2011-07-20
      • 1970-01-01
      相关资源
      最近更新 更多