连接到 Discord 网络套接字时未收到 "ready" 事件



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

我得到的事件顺序是:

  1. 我正在使用XMLHttpRequest请求一个要连接的URL并得到响应
  2. 我正在连接到URL并接收"连接"事件
  3. 操作码10〃;你好"消息由API发送
  4. 我开始对服务器感到心痛
  5. 我发送一个操作码2〃;识别";到服务器
  6. 我收到第一个操作码11心跳确认
  7. 我开始接收GUILD_CREATE事件,就像公会一样,然后是之后的所有其他事件

在这个事件序列中没有任何地方是";Ready";被发送,或者至少不是我正在接的。我试着记录我收到的每一条数据,但仍然没有;准备好了"有人知道";Ready";落在我的事件序列中,或者我需要做什么才能看到它?

问题是我的一个if语句没有在需要的时候记录数据,并且跳过了"准备好了"我设法通过更改它们的顺序来解决问题,以使我的所有事件都能正确记录。

最新更新