# BotFactory v2.1 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` карты. - Активный клиентский бот магазина перезапускается при смене токена. - Добавлен недельный тестовый тариф. - Добавлен индивидуальный постоплатный тариф: процент от выручки предыдущего месяца + день оплаты, назначается только администратором вручную. - Добавлены лёгкие миграции для новых полей биллинга. ## Чистая установка на Ubuntu 22.04 Под root: ```bash 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 ``` Установщик спросит: 1. домен или Enter для установки по IP; 2. email для SSL; 3. нужно ли добавлять `www` в сертификат; 4. получить ли SSL сразу; 5. токен платформенного бота; 6. Telegram ID администраторов; 7. пароль PostgreSQL или автогенерацию; 8. комиссии по тарифам. После установки данные сохраняются в: ```bash /opt/botfactory/install-info.txt ``` ## Управление сервисами ```bash 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 сервера и выполните: ```bash certbot --nginx -d tg-bot.fun --email admin@tg-bot.fun --agree-tos --redirect ``` Если нужен `www`: ```bash 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; - комиссия по заказам не списывается с баланса мгновенно, а начисляется в постоплату. ## Структура ботов ```text Платформенный бот └── статистика, пользователи, тарифы, балансы, заказы, постоплата, рассылка Магазин ├── Бот управления магазином │ ├── товары │ ├── карты/СБП │ ├── кассиры │ ├── токены клиентских ботов │ └── подтверждение оплат └── Клиентский бот магазина ├── каталог ├── создание заказа ├── отправка чека └── выдача товара после подтверждения ``` ## Важно по безопасности Не публикуйте реальные Telegram bot token в GitHub, чатах и логах. Если токен уже засветился, перевыпустите его через BotFather.