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 не поддерживается
При разрыве соединения нужно переподключиться самостоятельно
Одновременно может быть только одна активная сессия на бота