Основные понятия
Бот и владелец
Бот — отдельная изолированная сущность с display_name, username вида name_bot и собственными учётными данными. Владелец управляет ботом, но бот не получает права владельца.
Установка и сессия
Пока пользователь не нажал «Добавить бота», личный чат не создаётся. Установка отправляет /start и создаёт session_id. Перезапуск очищает историю и выдаёт новый session_id.
Область доступа
В личном чате бот видит только события своей сессии. В группе он получает обращения по @username и ответы на собственные сообщения, но не историю и не список участников.
Транспорт
Webhook — поддерживаемый транспорт MVP. WebSocket зарезервирован и будет описан после появления стабильного протокола.
Практика с SDK
SDK не создаёт дополнительных прав: все запросы по-прежнему проверяются платформой в контексте конкретного бота и чата.
Создавайте отдельный клиент на один bot token. Если процесс обслуживает несколько ботов, выбирайте токен только после определения bot_id входящего события.
Примеры использования
import { KeyChatBot } from '@keychat/bots';
const bot = new KeyChatBot(process.env.KEYCHAT_BOT_TOKEN!);