aquadim / botkit
Skeleton project for creating cross-platform chat bots
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- doctrine/dbal: ^4.0
- doctrine/orm: ^3.2
- symfony/cache: ^7.1
- vlucas/phpdotenv: ^5.6
This package is auto-updated.
Last update: 2025-07-05 18:13:38 UTC
README
Фреймворк для создания кросс-платформенных ботов
Что это такое
BotKit - php фреймворк, предназначенный для создания интерактивных чат-ботов сразу для нескольких мессенджеров (платформ)
Принцип работы
- Платформы мессенджеров посылают webhook на файл public/index.php
- Класс BotKit\Bot загружает драйверы платформ
- BotKit\Bot опрашивает драйверы с целью установить с каким из них нужно работать (может быть только один работающий драйвер в процессе обработки webhook-а)
- Драйвер строит модель события, описанного в webhook-е. Включается общая информация, такая как:
- Чат, в котором произошло событие
- Пользователь, вызвавший событие
- Текст события (если есть)
- Дополнительные данные
- Сценарии, описанные в файле botkit/routing.php проверяются ботом. Если условия сценария совпадают с построенной моделью события, бот выполняет код, необходимо выполнить по сценарию.
- Код, написанный программистом (например: формирование сообщения, добавление к нему вложений) работает с абстрактными объектами, обычно расположенными в пространстве имён BotKit\Models. Драйвера преобразуют абстрактные объекты и методы в конкретные вызовы API соответствующих платформ.
Сценарии
На данный момент класс Bot может сверить:
- В каком состоянии находится пользователь (см. Bot::whenUserInState)
- Какое событие сейчас обрабатывается (Bot::onEvent)
- Какая команда вызвана (Bot::onCommand)
- Какой тип обратного вызова сейчас обрабатывается (Bot::onCallback)
Планируется поддержка слоёв