add
This commit is contained in:
57
README.md
57
README.md
@@ -11,7 +11,7 @@ Telegram-бот на `aiogram 3` с интеграцией в `Remnawave API`,
|
||||
- Хранит локальный кэш пользователей и истории подписок в MariaDB
|
||||
- Поддерживает привязку существующего аккаунта Remnawave по `short_uuid`
|
||||
- Показывает профиль, статус подписки, срок и трафик
|
||||
- Работает с реферальными кодами, промокодами и скидкой перед оплатой
|
||||
- Работает с реферальными кодами и скидкой перед оплатой
|
||||
- Поддерживает ручную оплату переводом с отправкой чека в бот
|
||||
- Отправляет чек в отдельный Telegram-канал/топик на проверку
|
||||
- Даёт админу или модератору подтвердить или отклонить оплату
|
||||
@@ -24,8 +24,8 @@ Telegram-бот на `aiogram 3` с интеграцией в `Remnawave API`,
|
||||
Сейчас в проекте не используется Telegram Stars. Оплата работает вручную:
|
||||
|
||||
1. Пользователь нажимает `Купить подписку`
|
||||
2. Бот показывает список тарифов из `PAYMENT_PRODUCT_PLANS`, если они заданы, иначе из `PAYMENT_PLANS`
|
||||
3. Если у пользователя применён реферальный код или промокод, скидка учитывается до выбора тарифа
|
||||
2. Бот показывает список тарифов из `PAYMENT_PLANS`
|
||||
3. Если у пользователя применён реферальный код, скидка учитывается до выбора тарифа
|
||||
4. После выбора тарифа бот показывает реквизиты из `PAYMENT_TRANSFER_TEXT`
|
||||
5. Пользователь отправляет чек следующим сообщением в бота
|
||||
6. Бот пересылает чек в review-чат оплаты
|
||||
@@ -34,7 +34,7 @@ Telegram-бот на `aiogram 3` с интеграцией в `Remnawave API`,
|
||||
|
||||
### Тарифы
|
||||
|
||||
Обычные тарифы по срокам задаются одной переменной:
|
||||
Тарифы задаются одной переменной:
|
||||
|
||||
```env
|
||||
PAYMENT_PLANS=30:250,180:600,365:1000
|
||||
@@ -51,22 +51,6 @@ PAYMENT_PLANS=30:250,180:600,365:1000
|
||||
- 180 дней = 600 ₽
|
||||
- 365 дней = 1000 ₽
|
||||
|
||||
Для разных типов подписки можно включить продуктовые тарифы:
|
||||
|
||||
```env
|
||||
PAYMENT_PRODUCT_PLANS=vpn_white:30:450,white:30:250,vpn:30:200
|
||||
PAYMENT_VPN_SQUAD_UUIDS=11111111-1111-1111-1111-111111111111
|
||||
PAYMENT_WHITE_SQUAD_UUIDS=22222222-2222-2222-2222-222222222222
|
||||
```
|
||||
|
||||
Если `PAYMENT_PRODUCT_PLANS` заполнен, пользователь увидит выбор:
|
||||
|
||||
- `VPN + Белые списки` — получает UUID из `PAYMENT_VPN_SQUAD_UUIDS` и `PAYMENT_WHITE_SQUAD_UUIDS`
|
||||
- `Белые списки` — получает только `PAYMENT_WHITE_SQUAD_UUIDS`
|
||||
- `VPN` — получает только `PAYMENT_VPN_SQUAD_UUIDS`
|
||||
|
||||
Формат `PAYMENT_PRODUCT_PLANS`: `код:дни:цена_в_рублях`. Доступные коды: `vpn_white`, `white`, `vpn`. Эти значения также можно менять в админ-настройках бота.
|
||||
|
||||
### Логин в Remnawave
|
||||
|
||||
Логин создаётся в формате:
|
||||
@@ -253,12 +237,6 @@ telegabot/
|
||||
- `referral_bonuses`
|
||||
- начисленные и ожидающие применения бонусы реферерам
|
||||
|
||||
- `promo_codes`
|
||||
- промокоды, скидка, срок действия и ограничение по тарифу
|
||||
|
||||
- `promo_code_applications`
|
||||
- активный промокод, который пользователь ввёл перед оплатой
|
||||
|
||||
- `payment_orders`
|
||||
- ручные платежи, статусы и выданные доступы
|
||||
|
||||
@@ -283,26 +261,6 @@ telegabot/
|
||||
- за каждую подтверждённую оплату по рефкоду реферер получает бонус в днях
|
||||
- размер бонуса задаётся в `REFERRAL_BONUS_DAYS`
|
||||
|
||||
### Промокоды
|
||||
|
||||
Админ может создать промокод из UI: `Админ-панель` -> `Промокоды` -> `Создать промокод`.
|
||||
|
||||
Сценарий создания:
|
||||
|
||||
1. Админ вводит слово промокода
|
||||
2. Выбирает область действия: все тарифы или один тариф
|
||||
3. Вводит процент скидки
|
||||
4. Вводит срок действия
|
||||
|
||||
Пользователь вводит промокод в том же разделе, где вводится реферальный код. Если промокод ограничен одним тарифом, скидка применяется только к этому тарифу. Если у пользователя есть и реферальное приглашение, и активный промокод, при оплате используется скидка промокода; реферальный бонус рефереру всё равно начислится после подтверждённой оплаты.
|
||||
|
||||
Форматы срока действия:
|
||||
|
||||
- `7` — 7 дней
|
||||
- `24h` или `24ч` — 24 часа
|
||||
- `2026-05-31` — до конца указанной даты
|
||||
- `0` — без срока действия
|
||||
|
||||
## Тикеты поддержки
|
||||
|
||||
Сценарий:
|
||||
@@ -373,11 +331,10 @@ DB_NAME=oreolvpn
|
||||
DB_USER=oreolvpn
|
||||
DB_PASSWORD=strong_password
|
||||
|
||||
PAYMENT_PRODUCT_PLANS=vpn_white:30:450,white:30:250,vpn:30:200
|
||||
PAYMENT_PLANS=30:250,180:600,365:1000
|
||||
PAYMENT_TRANSFER_TEXT=Карта 0000 0000 0000 0000; банк OREOL; получатель OREOL VPN
|
||||
PAYMENT_REVIEW_LINK=https://t.me/c/3646494169/56/57
|
||||
PAYMENT_VPN_SQUAD_UUIDS=11111111-1111-1111-1111-111111111111
|
||||
PAYMENT_WHITE_SQUAD_UUIDS=22222222-2222-2222-2222-222222222222
|
||||
PAYMENT_INTERNAL_SQUAD_UUIDS=11111111-1111-1111-1111-111111111111
|
||||
REFERRAL_DISCOUNT_PERCENT=5
|
||||
PAYMENT_USERNAME_PREFIX=Oreol
|
||||
```
|
||||
@@ -853,7 +810,7 @@ OperationalError: (1049, "Unknown database '...'" )
|
||||
6. Проверить руками:
|
||||
- `/start`
|
||||
- открытие раздела подписки через кнопку в панели
|
||||
- ввод реферального кода или промокода
|
||||
- ввод реферального кода
|
||||
- отправку чека
|
||||
- подтверждение оплаты модератором
|
||||
- выдачу ссылки пользователю
|
||||
|
||||
Reference in New Issue
Block a user