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

Опкоды Gateway

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

  • C→S — клиент отправляет серверу
  • S→C — сервер отправляет клиенту
  • C↔S — используется в обе стороны
Код Имя Направление Описание
0 DISPATCH S→C Событие от сервера. t содержит тип события, d — payload.
1 HEARTBEAT C↔S Heartbeat. Клиент отправляет с последним s через интервал из HELLO. Сервер тоже может прислать — тогда надо ответить.
2 IDENTIFY C→S Начинает новую сессию. Отправляется после HELLO.
3 PRESENCE_UPDATE C→S Обновление статуса и активностей клиента.
4 VOICE_STATE_UPDATE C→S Присоединение/выход из голосового канала, мут, глушение.
6 RESUME C→S Восстановление прерванной сессии с последним s.
7 RECONNECT S→C Сервер просит переподключиться и возобновить сессию.
8 REQUEST_GUILD_MEMBERS C→S Запрос списка участников гильдии (для больших гильдий).
9 INVALID_SESSION S→C Сессия невалидна. d: true — можно резюмировать, false — надо идентифицироваться заново.
10 HELLO S→C Первое сообщение после подключения. В d.heartbeat_interval — миллисекунды между heartbeat.
11 HEARTBEAT_ACK S→C Подтверждение heartbeat. Если не пришёл — реконнект.
12 GATEWAY_ERROR S→C Ошибка gateway-уровня с деталями в d.