WebSocket

Боты получают события в реальном времени через WebSocket-соединение.

Подключение

ws://your-server:8082/ws/bot?token=BOT_TOKEN

Токен передаётся в query-параметре token. Это тот же токен, который вы получили при регистрации бота.

При невалидном или отсутствующем токене соединение закрывается с кодом 1008 (Policy Violation).

События

Сервер отправляет боту JSON-сообщения. Каждое событие имеет поле type для определения типа.

MessageCreated

Новое сообщение в канале.

{ "type": "MessageCreated", "channelId": "uuid-канала", "messageId": "uuid-сообщения", "content": "Текст сообщения" }

MemberJoined

Новый участник присоединился к каналу.

{ "type": "MemberJoined", "channelId": "uuid-канала", "userId": "id-пользователя" }

SlashCommand

Пользователь вызвал слэш-команду бота.

{ "type": "SlashCommand", "channelId": "uuid-канала", "command": "ping", "args": "аргументы команды" }

Поведение соединения

  • Бот только получает события — отправка сообщений от бота в WebSocket не поддерживается

  • При разрыве соединения нужно переподключиться самостоятельно

  • Одновременно может быть только одна активная сессия на бота