Commit Graph

183 Commits

Author SHA1 Message Date
Egor
2090da3603 Update inline.py 2026-01-12 16:30:24 +03:00
Egor
7c4471a510 Update inline.py 2026-01-12 15:48:51 +03:00
Egor
42978e2a37 Update inline.py 2026-01-12 15:27:37 +03:00
Egor
b2577d5973 Update inline.py 2026-01-11 04:09:19 +03:00
Egor
2c4b77ff8c Update inline.py 2026-01-10 21:05:58 +03:00
Egor
e6676720f2 Update inline.py 2026-01-10 20:57:49 +03:00
Egor
e66944e2bf Update inline.py 2026-01-10 20:29:53 +03:00
gy9vin
3299d47b11 merge: resolve conflict in universal_migration.py 2026-01-07 15:05:14 +03:00
gy9vin
4afefcafa4 Добавлена система вывода реферального баланса
Новая функциональность вывода средств:
  - config.py: добавлены настройки вывода (минимальная сумма, кулдаун, анализ подозрительности, тестовый режим)
  - models.py: добавлена модель WithdrawalRequest с полями для заявок, анализа рисков и обработки админ
2026-01-07 14:54:50 +03:00
Egor
61fe7f0be4 Update inline.py 2026-01-07 03:49:31 +03:00
Egor
6c0c3f1b79 Update inline.py 2026-01-07 03:03:55 +03:00
Egor
e48ebca91e Update inline.py 2026-01-07 02:55:26 +03:00
Egor
738216cf9f Add tariff change button for tariff mode 2026-01-07 02:21:15 +03:00
Egor
e9ce583eb2 Add files via upload 2026-01-06 20:59:02 +03:00
gy9vin
ff51a984ef fix Параметризация callback_data в get_back_keyboard + поддержка модема в уведомлениях
1. app/keyboards/inline.py
  - Добавлен параметр callback_data: str = "back_to_menu" в get_back_keyboard()
  - Позволяет использовать кнопку "Назад" с разными callback'ами

2. app/services/admin_notification_service.py
  - Добавлен тип "modem" в update_types с заголовком "📡 ИЗМЕНЕНИЕ МОД
2025-12-31 10:16:14 +03:00
Egor
5918f296ff Update inline.py 2025-12-30 18:33:18 +04:00
Egor
63ec894615 Update inline.py 2025-12-30 18:11:56 +04:00
gy9vin
cad9abd8bd feat(payments): умная автоактивация подписки после пополнения + округление цен
Добавлена функция умной автоактивации подписки после пополнения баланса:

  - Новая настройка AUTO_ACTIVATE_AFTER_TOPUP_ENABLED в .env
  - Функция auto_activate_subscription_after_topup() в subscription_auto_purchase_service.py:
    - Автоматически продлевает истёкшую подписку с теми же параметрами
    - Создаёт новую подписку с дефолтными параметрами если подписки нет
    - Проверяет достаточность баланса перед активацией
    - Интеграция с RemnaWave API
    - Уведомления пользователю и админам

  - Интеграция во все 9 платёжных провайдеров:
    - Stars, CryptoBot, YooKassa, CloudPayments
    - WATA, Platega, Pal24, MulenPay, Tribute

  - Исправлен handle_activate_button в menu.py:
    - Полная переработка с интеграцией RemnaWave
    - Корректная работа с балансом и транзакциями
    - Использование SubscriptionRenewalService

  Добавлено округление цен при отображении:

  - Новая настройка PRICE_ROUNDING_ENABLED в .env
  - Логика: ≤50 коп → вниз, >50 коп → вверх
  - Применяется везде: пополнения, партнёрки, скидки, промогруппы
2025-12-26 23:38:46 +03:00
gy9vin
bf9728352e feat(subscription): улучшение UX выбора серверов и устройств
- Кнопки устройств теперь в один столбец (вместо 2 колонок)
  - Автоматический предвыбор бесплатных серверов (price_kopeks == 0)
  - Вывод описания сквадов в тексте сообщения над кнопками

  Изменённые файлы:
  - keyboards/inline.py: get_devices_keyboard в 1 столбец
  - handlers/subscription/countries.py: хелперы _get_preselected_free_countries и _build_countries_selection_text
  - handlers/subscription/purchase.py, traffic.py, autopay.py: применение новой логики
2025-12-26 22:15:34 +03:00
Mikhail
fb9405cccd Merge branch 'BEDOLAGA-DEV:main' into main 2025-12-25 23:56:04 +03:00
Egor
a59a15af7f Update inline.py 2025-12-25 21:07:42 +03:00
gy9vin
0538d0e337 feat(traffic): улучшение системы докупки и сброса трафика
- Добавлен ENV переключатель TRAFFIC_TOPUP_ENABLED для вкл/выкл докупки
- Добавлена отдельная конфигурация пакетов TRAFFIC_TOPUP_PACKAGES_CONFIG
- Добавлено поле purchased_traffic_gb для отслеживания докупленного трафика
- Добавлены режимы расчета цены сброса (period/traffic/traffic_with_purchased)
- Исправлен абьюз: цена сброса теперь учитывает докупленный трафик
- Сброс purchased_traffic_gb при продлении/покупке подписки
- UX: меню сброса теперь показывает цену и баланс вместо alert
- UX: кнопка пополнения если не хватает средств на сброс
- Добавлена миграция для нового поля purchased_traffic_gb
- Добавлена локализация TRAFFIC_TOPUP_DISABLED (ru/en/ua/zh)
2025-12-25 14:48:24 +03:00
gy9vin
90c3df6331 Добавлен функционал подключения модема к подписке
Изменения:
- Добавлены настройки модема в .env.example и config.py (MODEM_ENABLED, MODEM_PRICE_PER_MONTH, MODEM_PERIOD_DISCOUNTS)
- Добавлено поле modem_enabled в модель Subscription
- Реализован модуль handlers/subscription/modem.py с обработчиками подключения/отключения модема
- Добавлено управ
2025-12-25 14:26:15 +03:00
Egor
f1be66d1a5 Update inline.py 2025-12-23 20:35:42 +03:00
Egor
63a9c1afd1 Update inline.py 2025-12-23 16:09:58 +03:00
Egor
65da3a57a7 Update inline.py 2025-12-22 19:32:36 +03:00
Egor
42759854c2 Use timezone-aware datetime for calculations 2025-12-21 08:07:31 +03:00
Egor
bc6e57765e Use UTC for registration days calculation 2025-12-21 07:18:31 +03:00
PEDZEO
10bc00d429 Merge pull request #2174 from BEDOLAGA-DEV/buttons
Buttons
2025-12-20 02:55:59 +03:00
PEDZEO
5fa627bd7f Refactor subscription days calculation and update autopay property naming in main menu keyboard 2025-12-20 02:31:52 +03:00
PEDZEO
7a30aa23dc Update subscription parameter naming in main menu keyboard function 2025-12-20 02:23:55 +03:00
PEDZEO
5919cfff16 Refactor referral data retrieval and update subscription placeholder naming in menu layout 2025-12-20 01:55:26 +03:00
PEDZEO
e743689b34 Enhance main menu keyboard functionality by adding user data support and subscription details retrieval 2025-12-20 01:40:23 +03:00
PEDZEO
af91423dec Merge pull request #2171 from BEDOLAGA-DEV/buttons
Buttons
2025-12-19 07:27:44 +03:00
PEDZEO
025d50675f test 2025-12-19 02:14:57 +03:00
gy9vin
c6175255a5 фикс кнопок конкурсов 2025-12-18 17:50:36 +03:00
gy9vin
71facd9624 Активация подписки после пополнения баланса! 2025-12-18 08:45:59 +03:00
gy9vin
5ca0f5fc27 Еще правки 2025-12-18 00:13:57 +03:00
gy9vin
e76f2f3d50 Кнопка конкурсов + прототип налоговой. не трогайте налоговую еще!!! 2025-12-16 00:59:23 +03:00
gy9vin
2f0594e361 Конкурсная система. 2025-12-15 20:04:39 +03:00
Egor
9d3f096be0 Add toggle for support top-ups 2025-11-24 08:17:23 +03:00
Egor
fbb1091f8b Revert "Debit balance when closing referral withdrawals" 2025-11-24 07:29:57 +03:00
Egor
45ce615fbe Debit balance when closing referral withdrawal requests 2025-11-24 07:21:39 +03:00
belousotroll
ceb45b4c0b add policy page at registration stage 2025-11-22 21:30:11 +07:00
Egor
1fdf1e49a3 Handle missing channel link in subscription check 2025-11-20 23:06:34 +03:00
Egor
a697ffa8f1 Fix dynamic traffic localization prices 2025-11-11 10:28:09 +03:00
Egor
fba80b1a0d Integrate Platega balance top-ups 2025-11-07 06:52:57 +03:00
Pavel Stryuk
d30d1e2a29 1) Отображение скидки на кнопках (красивое!)
2) У промогрупп появится приоритет
3) У пользователя может быть несколько промогрупп, но влиять будет только с наивысшим приоритетом
4) Промокоды с промогруппой
5) При выводе пользователей с промогруппой будет также выводиться ссылка на каждого. Можно будет отследить сливы промокодов "для своих". Я в целом это добавлю во все места, где пользователь выводится в админке
6) Исправить баг исчезновения триалки при пополнении
7) Исправить падающие тесты и добавить новых
8) Трафик: 0 ГБ в тестовой подписке исправить на Трафик: Безлимит
9) При попытке изменить промогруппу "Пользователь не найден" - исправил
2025-11-04 20:52:17 +01:00
Pavel Stryuk
bd73ad069f 1) Отображение скидки на кнопках (красивое!)
2) У промогрупп появится приоритет
3) У пользователя может быть несколько промогрупп, но влиять будет только с наивысшим приоритетом
4) Промокоды с промогруппой
5) При выводе пользователей с промогруппой будет также выводиться ссылка на каждого. Можно будет отследить сливы промокодов "для своих". Я в целом это добавлю во все места, где пользователь выводится в админке
6) Исправить баг исчезновения триалки при пополнении
7) Исправить падающие тесты и добавить новых
8) Трафик: 0 ГБ в тестовой подписке исправить на Трафик: Безлимит
9) При попытке изменить промогруппу "Пользователь не найден" - исправил
2025-11-04 20:36:01 +01:00
Pavel Stryuk
05d495e874 1) Отображение скидки на кнопках (красивое!)
2) У промогрупп появится приоритет
3) У пользователя может быть несколько промогрупп, но влиять будет только с наивысшим приоритетом
4) Промокоды с промогруппой
5) При выводе пользователей с промогруппой будет также выводиться ссылка на каждого. Можно будет отследить сливы промокодов "для своих". Я в целом это добавлю во все места, где пользователь выводится в админке
6) Исправить баг исчезновения триалки при пополнении
7) Исправить падающие тесты и добавить новых
8) Трафик: 0 ГБ в тестовой подписке исправить на Трафик: Безлимит
9) При попытке изменить промогруппу "Пользователь не найден" - исправил
2025-11-04 14:13:21 +01:00