BotFarm2
BotFarm2 — мультиплатформенная система управления ботами. Позволяет создавать ботов для мессенджеров, которые отображают HTML-страницы вашего бекенда в виде сообщений с кнопками, изображениями и интерактивными элементами.
Поддерживаемые платформы
| Платформа |
Тип бота |
Особенности |
| Telegram |
tg |
Полная поддержка: inline-кнопки, медиа-группы, геолокация, venue, редактирование сообщений, запрос контакта |
| VKontakte |
vk |
Клавиатура с кнопками, фото, геолокация |
| Max |
max |
Inline-кнопки, фото, документы, геолокация, venue |
| Instagram |
ig |
Базовая отправка сообщений и фото через Facebook Graph API |
Как это работает
Пользователь → Мессенджер → Webhook → BotFarm2 → Ваш бекенд (HTML)
↓
Парсинг HTML
↓
Сообщения в мессенджер
- Пользователь пишет боту или нажимает кнопку
- BotFarm2 получает webhook от мессенджера
- BotFarm2 запрашивает HTML-страницу с вашего бекенда, передавая информацию о пользователе в заголовках
- HTML парсится:
<div class="bf-message"> превращается в сообщения, <a href="..."> — в кнопки, <img> — в фото
- Результат отправляется пользователю в мессенджер
Ключевые возможности
- HTML-страницы как интерфейс бота — пишите обычный HTML, BotFarm2 преобразует его в сообщения мессенджера
- Навигация по страницам — пользователь нажимает кнопки и переходит между страницами, как на сайте
- Стек навигации — кнопка "Назад" автоматически возвращает на предыдущую страницу
- Мультиплатформенность — один бекенд для всех мессенджеров
- REST API — программная отправка сообщений, навигация, управление пользователями
- Рассылки — массовая отправка сообщений через API с nonce-отслеживанием
- Cookies и сессии — BotFarm2 сохраняет cookies для каждого пользователя, поддерживая сессии вашего бекенда
- Автопагинация кнопок — если кнопок больше лимита, они автоматически разбиваются на страницы
Архитектура
Компания (Company)
└── API токен для аутентификации
└── Боты (Bot)
├── Telegram бот (@my_bot)
├── VK бот (группа)
├── Max бот
└── Instagram бот
└── Пользователи (BFUser)
├── tg_ext_id — Telegram ID
├── vk_ext_id — VK ID
├── max_ext_id — Max ID
└── ig_ext_id — Instagram ID
- Компания — мультитенантная структура с API-токеном
- Бот — привязан к компании, имеет токен платформы и настройки (homepage, page_size, stack_mode)
- BFUser — пользователь с идентификаторами на всех платформах
- BotUser — связь пользователя с конкретным ботом (cookies, текущая страница, история)
Документация
| Раздел |
Описание |
| Быстрый старт |
Подключение, аутентификация, первый запрос |
| HTML спецификация |
Все поддерживаемые HTML-элементы и классы |
| API |
REST API для отправки сообщений, навигации, управления пользователями |
| Вебхуки |
Формат входящих запросов от пользователей на ваш бекенд |
| Навигация |
Стек страниц, кнопка "Назад", пагинация кнопок, refresh |