docs: update readme
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Telegram-бот для продажи подписок Remnawave
|
# Remnawave Minishop
|
||||||
|
|
||||||
Этот Telegram-бот предназначен для автоматизации продажи и управления подписками для панели **Remnawave**. Он интегрируется с API Remnawave для управления пользователями и подписками, а также использует различные платежные системы для приема платежей.
|
Remnawave Minishop — это Telegram-бот **и** Web App (Mini App) для автоматизации продажи и управления подписками панели **Remnawave**. Бот закрывает сценарий покупки, продления и работы с поддержкой прямо в чате, а Web App в едином интерфейсе показывает ссылку подключения, остаток времени, трафик, оплату и устройства, поддерживая вход через Telegram Mini Apps `initData`, Telegram Login Widget и одноразовый код по email. Под капотом — интеграция с API Remnawave для управления пользователями и подписками и набор платёжных шлюзов для приёма платежей.
|
||||||
|
|
||||||
## ✨ Ключевые возможности
|
## ✨ Ключевые возможности
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
```
|
```
|
||||||
|
|
||||||
2. **Создайте и настройте файл `.env`:**
|
2. **Создайте и настройте файл `.env`:**
|
||||||
Скопируйте `env.example` в `.env` и заполните своими данными.
|
Скопируйте `.env.example` в `.env` и заполните своими данными.
|
||||||
```bash
|
```bash
|
||||||
cp .env.example .env
|
cp .env.example .env
|
||||||
nano .env
|
nano .env
|
||||||
@@ -203,7 +203,7 @@
|
|||||||
```bash
|
```bash
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
Эта команда скачает образ и запустит сервис в фоновом режиме.
|
Эта команда соберёт образ из `Dockerfile` (Python + сборка Web App на Node) и запустит сервис в фоновом режиме. Если нужен запуск из готового образа GHCR — используйте `docker-compose-remote-server.yml`.
|
||||||
|
|
||||||
5. **Настройка вебхуков (Обязательно):**
|
5. **Настройка вебхуков (Обязательно):**
|
||||||
Вебхуки являются **обязательным** компонентом для работы бота, так как они используются для получения уведомлений от платежных систем (YooKassa, FreeKassa, CryptoPay, Platega, SeverPay) и панели Remnawave.
|
Вебхуки являются **обязательным** компонентом для работы бота, так как они используются для получения уведомлений от платежных систем (YooKassa, FreeKassa, CryptoPay, Platega, SeverPay) и панели Remnawave.
|
||||||
@@ -517,31 +517,36 @@ docker compose -f docker-compose-caddy.yml up -d --build
|
|||||||
```
|
```
|
||||||
.
|
.
|
||||||
├── bot/
|
├── bot/
|
||||||
|
│ ├── app/ # Сборка приложения (фабрики, контроллеры, Web App)
|
||||||
|
│ │ ├── controllers/ # Запуск Aiogram dispatcher
|
||||||
|
│ │ ├── factories/ # Фабрики сервисов (платежи, панель и т.д.)
|
||||||
|
│ │ └── web/ # Web App / Mini App (сервер, аутентификация, шаблоны)
|
||||||
│ ├── filters/ # Пользовательские фильтры Aiogram
|
│ ├── filters/ # Пользовательские фильтры Aiogram
|
||||||
│ ├── handlers/ # Обработчики сообщений и колбэков
|
│ ├── handlers/ # Обработчики сообщений и колбэков (admin/, user/)
|
||||||
│ ├── keyboards/ # Клавиатуры
|
│ ├── keyboards/ # Клавиатуры
|
||||||
│ ├── middlewares/ # Промежуточные слои (i18n, проверка бана)
|
│ ├── middlewares/ # Промежуточные слои (i18n, проверка бана и т.д.)
|
||||||
│ ├── services/ # Бизнес-логика (платежи, API панели)
|
│ ├── services/ # Бизнес-логика (платёжные шлюзы, API панели, email и т.д.)
|
||||||
│ ├── states/ # Состояния FSM
|
│ ├── states/ # Состояния FSM (admin/user)
|
||||||
|
│ ├── utils/ # Вспомогательные утилиты
|
||||||
|
│ ├── routers.py # Регистрация всех роутеров Aiogram
|
||||||
│ └── main_bot.py # Основная логика бота
|
│ └── main_bot.py # Основная логика бота
|
||||||
├── config/
|
├── config/
|
||||||
│ └── settings.py # Настройки Pydantic
|
│ └── settings.py # Настройки Pydantic
|
||||||
├── db/
|
├── db/
|
||||||
│ ├── dal/ # Слой доступа к данным (DAL)
|
│ ├── dal/ # Слой доступа к данным (DAL)
|
||||||
│ ├── database_setup.py # Настройка БД
|
│ ├── database_setup.py # Настройка БД и подключения
|
||||||
|
│ ├── migrator.py # Миграции схемы при старте
|
||||||
│ └── models.py # Модели SQLAlchemy
|
│ └── models.py # Модели SQLAlchemy
|
||||||
├── locales/ # Файлы локализации (ru, en)
|
├── locales/ # Файлы локализации (ru.json, en.json)
|
||||||
|
├── scripts/ # Сборка JS Web App и обновление копий Telegram JS
|
||||||
|
├── tests/ # Pytest-тесты
|
||||||
├── .env.example # Пример файла с переменными окружения
|
├── .env.example # Пример файла с переменными окружения
|
||||||
├── Dockerfile # Инструкции для сборки Docker-образа
|
├── Caddyfile # Пример конфигурации Caddy
|
||||||
├── docker-compose.yml # Файл для оркестрации контейнеров
|
├── Dockerfile # Multi-stage сборка (Python + Node для Web App)
|
||||||
|
├── docker-compose.yml # Локальная сборка и запуск
|
||||||
|
├── docker-compose-caddy.yml # Запуск с Caddy в качестве reverse proxy
|
||||||
|
├── docker-compose-remote-server.yml # Запуск из готового образа GHCR
|
||||||
|
├── package.json # Frontend-зависимости (Tailwind, esbuild) и сборка Web App
|
||||||
├── requirements.txt # Зависимости Python
|
├── requirements.txt # Зависимости Python
|
||||||
└── main.py # Точка входа в приложение
|
└── main.py # Точка входа в приложение
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🔮 Планы на будущее
|
|
||||||
|
|
||||||
- Расширенные типы промокодов (например, скидки в процентах).
|
|
||||||
|
|
||||||
## ❤️ Поддержка
|
|
||||||
- Карты РФ и зарубежные: [Tribute](https://t.me/tribute/app?startapp=dqdg)
|
|
||||||
- Crypto: `USDT TRC-20 TT3SqBbfU4vYm6SUwUVNZsy278m2xbM4GE`
|
|
||||||
|
|||||||
Reference in New Issue
Block a user