commit de05487d8359a9835c4674cb8026cd070bdfe1f6 Author: Виктор <78488229+viktor138irk@users.noreply.github.com> Date: Mon May 25 02:38:29 2026 +0900 Инициализирован репозиторий BotFactory v2.1 diff --git a/README.md b/README.md new file mode 100644 index 0000000..f5deb48 --- /dev/null +++ b/README.md @@ -0,0 +1,114 @@ +# 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.