Files
2026-08-20 04:18:29 +09:00

104 строки
4.3 KiB
Markdown

# BotShop v0.2.1
BotShop — локальная платформа для запуска нескольких Telegram-магазинов из одной панели управления.
Проект рассчитан на легальную продажу цифровых и физических товаров: файлы, доступы, инструкции, мерч, услуги, коды, подписки, инфопродукты.
## Безопасный scope
В проекте реализуется обычный магазин:
- несколько Telegram-ботов в одной панели;
- каталог товаров;
- выбор города и зоны доставки;
- выбор товара и варианта;
- итоговая карточка заказа;
- баланс пользователя;
- реферальная программа;
- последний заказ;
- связь с поддержкой;
- ручная проверка оплаты оператором;
- выдача цифрового товара только после подтверждённой оплаты;
- журнал действий администратора и платежных решений.
Не реализуется:
- продажа запрещённых товаров;
- скрытые адреса и тайники;
- автоматическое признание оплаты только по нажатию пользователя;
- обход платёжных правил;
- анонимная схема без проверяемого учёта.
## Логика заказа
1. Пользователь открывает бота.
2. Видит главное меню: каталог, баланс, рефералка, последний заказ, поддержка.
3. Выбирает город.
4. Выбирает зону доставки.
5. Выбирает товар.
6. Выбирает вариант.
7. Получает итоговую карточку заказа.
8. Выбирает действие: оплатить или отменить.
9. После сообщения о платеже заказ уходит оператору на проверку.
10. Оператор подтверждает оплату в панели.
11. Система выдаёт цифровой товар из остатков и пишет событие в аудит.
## Статусы заказа
- `draft` — черновик;
- `waiting_payment` — ожидает оплату;
- `payment_review` — ожидает проверки оператором;
- `paid` — оплата подтверждена;
- `delivered` — товар выдан;
- `cancelled` — отменён;
- `refunded` — возвращён;
- `expired` — истёк срок оплаты;
- `rejected` — отклонён.
## Установка
```bash
sudo apt update
sudo apt install -y git curl
cd /root
git clone https://github.com/viktor138irk/bot.git botshop-installer
cd botshop-installer
sudo bash install.sh --local
```
После установки:
```text
Админка: http://IP-СЕРВЕРА/login
Email: admin@local.test
Пароль: сгенерированный пароль
```
## Локальный режим
В локальном режиме домен и SSL не нужны. Telegram работает через polling-сервис:
```bash
systemctl status botshop-polling --no-pager
journalctl -u botshop-polling -f
```
## Структура
```text
install.sh # автоустановщик
public/index.php # веб-панель и webhook endpoint
scripts/polling.php # локальный Telegram polling worker
database/schema.sql # схема базы
storage/config.php # создаётся installer'ом, не хранится в git
storage/logs/ # логи
```
## Roadmap
- v0.2.1 — безопасный scope, совместимость схемы, главное меню бота;
- v0.2.2 — раздел остатков и выдачи цифрового товара;
- v0.2.3 — операторская проверка оплаты и аудит;
- v0.2.4 — поддержка в панели;
- v0.3.0 — роли операторов, улучшенный UI и журнал действий.