Перейти к содержанию

BotFarm2

BotFarm2 — мультиплатформенная система управления ботами. Позволяет создавать ботов для мессенджеров, которые отображают HTML-страницы вашего бекенда в виде сообщений с кнопками, изображениями и интерактивными элементами.

Поддерживаемые платформы

Платформа Тип бота Особенности
Telegram tg Полная поддержка: inline-кнопки, медиа-группы, геолокация, venue, редактирование сообщений, запрос контакта
VKontakte vk Клавиатура с кнопками, фото, геолокация
Max max Inline-кнопки, фото, документы, геолокация, venue
Instagram ig Базовая отправка сообщений и фото через Facebook Graph API

Как это работает

Пользователь → Мессенджер → Webhook → BotFarm2 → Ваш бекенд (HTML)
                                    Парсинг HTML
                              Сообщения в мессенджер
  1. Пользователь пишет боту или нажимает кнопку
  2. BotFarm2 получает webhook от мессенджера
  3. BotFarm2 запрашивает HTML-страницу с вашего бекенда, передавая информацию о пользователе в заголовках
  4. HTML парсится: <div class="bf-message"> превращается в сообщения, <a href="..."> — в кнопки, <img> — в фото
  5. Результат отправляется пользователю в мессенджер

Ключевые возможности

  • 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