# 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 и журнал действий.