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

dev-master 2024-09-05 16:25 UTC

This package is auto-updated.

Last update: 2025-07-05 18:13:38 UTC


README

Фреймворк для создания кросс-платформенных ботов

Что это такое

BotKit - php фреймворк, предназначенный для создания интерактивных чат-ботов сразу для нескольких мессенджеров (платформ)

Принцип работы

  1. Платформы мессенджеров посылают webhook на файл public/index.php
  2. Класс BotKit\Bot загружает драйверы платформ
  3. BotKit\Bot опрашивает драйверы с целью установить с каким из них нужно работать (может быть только один работающий драйвер в процессе обработки webhook-а)
  4. Драйвер строит модель события, описанного в webhook-е. Включается общая информация, такая как:
    • Чат, в котором произошло событие
    • Пользователь, вызвавший событие
    • Текст события (если есть)
    • Дополнительные данные
  5. Сценарии, описанные в файле botkit/routing.php проверяются ботом. Если условия сценария совпадают с построенной моделью события, бот выполняет код, необходимо выполнить по сценарию.
  6. Код, написанный программистом (например: формирование сообщения, добавление к нему вложений) работает с абстрактными объектами, обычно расположенными в пространстве имён BotKit\Models. Драйвера преобразуют абстрактные объекты и методы в конкретные вызовы API соответствующих платформ.

Сценарии

На данный момент класс Bot может сверить:

  • В каком состоянии находится пользователь (см. Bot::whenUserInState)
  • Какое событие сейчас обрабатывается (Bot::onEvent)
  • Какая команда вызвана (Bot::onCommand)
  • Какой тип обратного вызова сейчас обрабатывается (Bot::onCallback)

Планируется поддержка слоёв