Перейти к содержимому

Опкоды Gateway

Каждое сообщение Gateway — JSON с полями op, d, s, t. Опкод (op) определяет роль сообщения в протоколе. Направление:

  • C→S — клиент отправляет серверу
  • S→C — сервер отправляет клиенту
  • C↔S — используется в обе стороны
КодИмяНаправлениеОписание
0DISPATCHS→CСобытие от сервера. t содержит тип события, d — payload.
1HEARTBEATC↔SHeartbeat. Клиент отправляет с последним s через интервал из HELLO. Сервер тоже может прислать — тогда надо ответить.
2IDENTIFYC→SНачинает новую сессию. Отправляется после HELLO.
3PRESENCE_UPDATEC→SОбновление статуса и активностей клиента.
4VOICE_STATE_UPDATEC→SПрисоединение/выход из голосового канала, мут, глушение.
6RESUMEC→SВосстановление прерванной сессии с последним s.
7RECONNECTS→CСервер просит переподключиться и возобновить сессию.
8REQUEST_GUILD_MEMBERSC→SЗапрос списка участников гильдии (для больших гильдий).
9INVALID_SESSIONS→CСессия невалидна. d: true — можно резюмировать, false — надо идентифицироваться заново.
10HELLOS→CПервое сообщение после подключения. В d.heartbeat_interval — миллисекунды между heartbeat.
11HEARTBEAT_ACKS→CПодтверждение heartbeat. Если не пришёл — реконнект.
12GATEWAY_ERRORS→CОшибка gateway-уровня с деталями в d.