github BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot v2.5.2

latest releases: v3.15.1, v3.15.0, v3.14.1...
4 months ago

v2.5.2

🎉 Основные нововведения

🔄 Автоматическая синхронизация Remnawave

  • Добавлен фоновый сервис автосинхронизации пользователей и серверов с панелью RemnaWave по расписанию
  • Новые системные настройки:
    • REMNAWAVE_AUTO_SYNC_ENABLED — включение/отключение автосинхронизации (по умолчанию выключено)
    • REMNAWAVE_AUTO_SYNC_TIMES — расписание запуска в формате HH:MM (по умолчанию "03:00")
  • Автоматическое управление: сервис перезапускается при изменении настроек, поддерживает ручной запуск и детальный статус выполнения
  • Graceful shutdown: корректная остановка сервиса при завершении работы бота

💳 Интеграция платежной системы WATA

  • Полноценная поддержка WATA для пополнения баланса через банковские карты
  • Реализован полный цикл платежей: создание, проверка статуса, автоматическое зачисление средств
  • REST API интеграция с асинхронным взаимодействием через aiohttp
  • Валидация лимитов на всех этапах (бот, miniapp, webapi)
  • Уведомления пользователю и администратору при успешном пополнении

🛒 Сквозная корзина (Persistent Cart) @Gy9vin

  • Сохранение параметров подписки при недостатке баланса — пользователь может вернуться к оформлению после пополнения
  • Хранение в Redis с TTL 1 час
  • Умные уведомления после пополнения с кнопкой "Вернуться к оформлению"
  • Автоматическое удаление корзины после покупки или вручную

🎯 Гибкое управление реферальной программой @Gy9vin

  • Новая настройка REFERRAL_PROGRAM_ENABLED для включения/отключения партнерской программы
  • Автоматическое скрытие всех связанных элементов UI при отключении (кнопки "Партнерка", "Рефералы")
  • Админ-функции остаются доступны независимо от настройки

🔧 Модульная архитектура платежных методов @Gy9vin

Полный рефакторинг системы пополнения баланса — каждый метод оплаты в отдельном модуле:

  • app/handlers/balance/cryptobot.py — CryptoBot с актуальным курсом USD/RUB
  • app/handlers/balance/mulenpay.py — Mulen Pay
  • app/handlers/balance/pal24.py — PayPalych (СБП и карта)
  • app/handlers/balance/stars.py — Telegram Stars
  • app/handlers/balance/tribute.py — Tribute (банковские карты)
  • app/handlers/balance/yookassa.py — YooKassa (карта, СБП)
  • app/handlers/balance/wata.py — WATA (новый метод)

⚙️ Гибкая настройка PayPalych @Gy9vin

  • Раздельное управление кнопками:
    • PAL24_SBP_BUTTON_VISIBLE — отображение СБП
    • PAL24_CARD_BUTTON_VISIBLE — отображение банковской карты

🔨 Технические улучшения

База данных

  • Новая таблица wata_payments с полной информацией о платежах
  • CRUD-операции для WATA-платежей (создание, поиск, обновление статуса)
  • Связи с пользователями и транзакциями

Сервисы

  • app/services/remnawave_sync_service.py — новый сервис автосинхронизации
  • app/services/wata_service.py — REST API клиент для WATA
  • app/services/payment/wata.py — Mixin для WATA в платежном сервисе
  • app/services/user_cart_service.py — управление корзиной пользователя (Redis)

Конфигурация

  • Расширены описания системных настроек с примерами и зависимостями
  • Автоматическое применение изменений настроек с перезапуском сервисов
  • Новые параметры в .env.example

Состояния FSM

  • Добавлен класс RemnaWaveSyncStates для автосинхронизации
  • Улучшена обработка состояний в сценариях оплаты

WebAPI

  • WATA добавлена во все эндпоинты miniapp
  • Поддержка WATA в схемах запросов/ответов
  • Обновлены методы получения способов оплаты

🌍 Локализация и UI/UX

Локализация

  • Полная поддержка RU/EN для WATA и всех новых функций
  • Обновлены тексты для корзины, платежей, рефералов
  • Улучшены формулировки: акцент на "сервис" вместо "VPN"

Интерфейс

  • Miniapp: добавлены методы оплаты через WATA в переводах
  • Кнопки корзины в главном меню при наличии сохраненных параметров
  • Умные уведомления после пополнения баланса
  • Подробные инструкции для каждого способа оплаты
  • Быстрый выбор суммы пополнения (опционально)

Админка

  • Расширена категория настроек WATA
  • Добавлены тестовые кнопки
  • Улучшена навигация и описания параметров

📚 Документация

  • docs/persistent_cart_system.mdновый файл с описанием корзины
  • docs/referral_program_setting.mdновый файл по управлению партнеркой

✅ Тесты

  • tests/test_user_cart_service.py — юнит-тесты сервиса корзины
  • tests/test_subscription_cart_integration.py — интеграционные тесты

⚠️ Важная информация

Требования

  • Redis — для работы Persistent Cart (REDIS_URL в .env)
  • Токен WATA — для работы платежной системы (WATA_TOKEN, WATA_TERMINAL_ID)

Настройки по умолчанию

  • REMNAWAVE_AUTO_SYNC_ENABLED=false — автосинхронизация выключена
  • REFERRAL_PROGRAM_ENABLED=true — реферальная программа включена
  • WATA — требует явной настройки токена и терминала

Рекомендации

  1. Настроить переменные окружения для новых функций
  2. Перезапустить все инстансы бота и связанных сервисов
  3. Проверить доступность Redis для корзины
  4. Настроить расписание автосинхронизации RemnaWave при необходимости

Ограничения

  • WATA требует корректной настройки минимальной/максимальной суммы
  • Частые синхронизации могут увеличить нагрузку на панель Remnawave
  • Старые параметры оформления не мигрируют в корзину автоматически
  • Корзина работает только для новых оформлений после обновления

🐛 Исправления

  • Улучшена обработка ошибок lazy loading SQLAlchemy (greenlet)
  • Расширено логгирование с stack trace для отладки
  • Исправлены формулировки в локализации
  • Улучшена обработка статусов платежей для всех методов

🔜 Breaking Changes

  • Удалён app/handlers/balance.py — миграция на модульную структуру автоматическая
  • Старая архитектура обработчиков баланса больше не поддерживается

Полная версия документации доступна в папке docs/

What's Changed

  • Партнерка активация по env + убрано упоминание о vpn в русской локализации by @Gy9vin in #1306
  • да все до кучи by @Gy9vin in #1318
  • Фиксы ошибок запуска by @Gy9vin in #1320
  • Wata by @Fr1ngg in #1342
  • Автосинк с ремной при старте + по таймеру by @Fr1ngg in #1350

Full Changelog: v2.5.1...v2.5.2

Don't miss a new remnawave-bedolaga-telegram-bot release

NewReleases is sending notifications on new releases.