Опкоды 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. |
Что дальше
Заголовок раздела «Что дальше»- Жизненный цикл соединения — как HELLO → IDENTIFY → READY складываются в рабочую сессию
- Коды закрытия — как интерпретировать WebSocket close code
- События — полный список dispatch-событий