7.4 KiB
7.4 KiB
BotFactory v2.2
SaaS-платформа для Telegram-магазинов: платформенный админ-бот, боты управления магазинами, клиентские боты, FastAPI backend и React/Vite frontend.
Что исправлено в v2.1
- Установщик больше не требует
python3.11иpostgresql-14. - Поддержана чистая установка на Ubuntu 22.04 и 24.04 из стандартных репозиториев.
- Убран агрессивный
apt upgradeво время установки. - UFW больше не делает
reset; установщик только добавляет правила 22/80/443. - Платформенный бот вынесен из API-процесса в
botfactory-bots, чтобы не запускать Telegram polling несколько раз. - Исправлена выдача товара при подтверждении заказа из платформенного бота.
- При подтверждении заказа обновляются
stock,soldиreceived_totalкарты. - Активный клиентский бот магазина перезапускается при смене токена.
- Добавлен недельный тестовый тариф.
- Добавлен индивидуальный постоплатный тариф: процент от выручки предыдущего месяца + день оплаты, назначается только администратором вручную.
- Добавлены лёгкие миграции для новых полей биллинга.
Hotfix v2.1.1
- Исправлены права
/opt/botfactory, из-за которых nginx мог отдавать500 Internal Server Errorна главной странице. - Добавлена проверка
frontend/dist/index.htmlпосле сборки. - Сервис
botfactory-botsбольше не привязан к успешному старту API, только к сети/PostgreSQL/Redis. - Добавлен аварийный скрипт восстановления:
scripts/repair_server.sh.
Быстрое восстановление на сервере
cd /opt/botfactory-src
git pull origin main
bash scripts/repair_server.sh
Чистая установка на Ubuntu 22.04
Под root:
apt update
apt install -y git
cd /opt
git clone https://github.com/viktor138irk/tg-bot.fun.git botfactory-src
cd botfactory-src
bash install.sh
Установщик спросит:
- домен или Enter для установки по IP;
- email для SSL;
- нужно ли добавлять
wwwв сертификат; - получить ли SSL сразу;
- токен платформенного бота;
- Telegram ID администраторов;
- пароль PostgreSQL или автогенерацию;
- комиссии по тарифам.
После установки данные сохраняются в:
/opt/botfactory/install-info.txt
Управление сервисами
systemctl status botfactory-api
systemctl status botfactory-bots
systemctl restart botfactory-api
systemctl restart botfactory-bots
journalctl -u botfactory-api -f
journalctl -u botfactory-bots -f
SSL после настройки DNS
Если SSL не был получен во время установки, проверьте A-запись домена на IP сервера и выполните:
certbot --nginx -d tg-bot.fun --email admin@tg-bot.fun --agree-tos --redirect
Если нужен www:
certbot --nginx -d tg-bot.fun -d www.tg-bot.fun --email admin@tg-bot.fun --agree-tos --redirect
Тарифы
Стандартные тарифы:
trial_week— тест 7 дней;trial;basic;pro;enterprise.
Индивидуальный тариф:
postpaid_custom;- назначается только в платформенном боте администратором;
- комиссия считается как процент от выручки предыдущего месяца;
- день оплаты задаётся админом от 1 до 28;
- комиссия по заказам не списывается с баланса мгновенно, а начисляется в постоплату.
Структура ботов
Платформенный бот
└── статистика, пользователи, тарифы, балансы, заказы, постоплата, рассылка
Магазин
├── Бот управления магазином
│ ├── товары
│ ├── карты/СБП
│ ├── кассиры
│ ├── токены клиентских ботов
│ └── подтверждение оплат
└── Клиентский бот магазина
├── каталог
├── создание заказа
├── отправка чека
└── выдача товара после подтверждения
Важно по безопасности
Не публикуйте реальные Telegram bot token в GitHub, чатах и логах. Если токен уже засветился, перевыпустите его через BotFather.
v2.2.0
- Демо-данные удалены из React-панели.
- Панель теперь читает реальные данные из PostgreSQL через
/api/admin/overview. - Добавлены рабочие API для создания пользователей, магазинов, товаров, карт, токенов бота магазина и кассиров.
- Добавлены API-действия: пополнение баланса, смена тарифа, назначение постоплаты, блокировка пользователя, активация резервного токена, подтверждение/отклонение заказов.
- Исправлен молчащий платформенный бот: aiogram больше не падает на
unexpected keyword argument dispatcher. - Исправлен повторный старт платформенного роутера после падения polling.
- Исправлены systemd service-файлы:
StartLimitIntervalSecперенесён в[Unit], добавленыTimeoutStopSecиKillMode=mixed.
Минимальная настройка после установки
- В веб-панели создайте пользователя-владельца.
- Создайте магазин и укажите токен отдельного бота управления.
- Добавьте токен покупательского бота магазина и сделайте его активным.
- Добавьте карту/СБП-реквизиты.
- Добавьте товар с контентом для автовыдачи.
- Добавьте кассиров по Telegram ID, если нужны отдельные модераторы.
- Перезапустите
botfactory-botsили подождите до 30 секунд — runner сам подхватит магазин.