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

4.3 KiB

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 — отклонён.

Установка

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

После установки:

Админка: http://IP-СЕРВЕРА/login
Email: admin@local.test
Пароль: сгенерированный пароль

Локальный режим

В локальном режиме домен и SSL не нужны. Telegram работает через polling-сервис:

systemctl status botshop-polling --no-pager
journalctl -u botshop-polling -f

Структура

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