Files
tg-bot.fun/README.md
T

115 строки
4.7 KiB
Markdown

# 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.