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

latest releases: v3.3.0, v3.2.0, v3.1.3...
3 months ago

📋 Changelog v2.5.1

🎯 Основные изменения

⚙️ Реструктуризация проекта

Модульная система обработчиков подписки

Проведена полная реорганизация обработчиков подписки для улучшения поддерживаемости и масштабируемости:

  • Удалён монолитный файл app/handlers/subscription.py
  • Создан пакет app/handlers/subscription/ с разделением по функциональности:
    • autopay.py — управление автоплатежами
    • common.py — общие обработчики
    • countries.py — работа со странами
    • devices.py — управление устройствами
    • happ.py — интеграция с Happ
    • links.py — генерация и обработка ссылок подписки
    • notifications.py — система уведомлений
    • pricing.py — управление ценами
    • promo.py — промокоды и акции
    • purchase.py — обработка покупок
    • traffic.py — мониторинг трафика
    • __init__.py — публичный API пакета

Модульная система платёжного сервиса by @Gy9vin

Проведён рефакторинг платёжного сервиса с внедрением паттерна миксинов:

  • Создан пакет app/services/payment/ с миксинами для каждого платёжного канала:
    • common.py — общая логика
    • stars.py — Telegram Stars
    • yookassa.py — YooKassa (карты и СБП)
    • tribute.py — Tribute
    • cryptobot.py — CryptoBot
    • mulenpay.py — MulenPay
    • pal24.py — Pal24

💳 Новые возможности

СБП (Система быстрых платежей)

Добавлена полная поддержка оплаты через СБП via YooKassa:

  • ✅ Новый способ оплаты в интерфейсе бота
  • ✅ Приоритетное отображение (выше банковских карт)
  • ✅ Интеграция в miniapp
  • ✅ Специальные иконки и описания
  • ✅ Отдельные обработчики создания и проверки платежей
  • ✅ Поддержка во всех эндпоинтах webapi

🔧 Улучшения

Обработка payload при старте

  • Сохранение и восстановление payload после проверки подписки на канал
  • Корректная обработка реферальных кодов
  • Поддержка кампаний и UTM-меток

Логика подписок

  • Расширенное логирование переходов между статусами
  • Улучшенная обработка граничных случаев

Система уведомлений

  • Переработана логика отправки уведомлений администраторам
  • Повторная загрузка сущностей из БД при ошибках
  • Корректное формирование сообщений о пополнении баланса
  • Поддержка всех новых платёжных методов

Производительность

  • Переход на асинхронные методы во множестве компонентов
  • Оптимизация работы с базой данных
  • Улучшенная обработка ошибок и исключений

Логирование

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

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

  • Добавлен docs/project_structure_reference.md с описанием структуры проекта
  • Обновлена документация модулей подписки
  • Добавлены комментарии к новым миксинам платёжного сервиса

🔄 Изменённые файлы

Основные компоненты

  • app/handlers/subscription/* — новая модульная структура
  • app/services/payment/* — миксины платёжных каналов
  • app/handlers/start.py — улучшенная обработка payload
  • app/middlewares/channel_checker.py — сохранение payload
  • app/database/crud/subscription.py — логика активации подписок
  • app/services/admin_notification_service.py — уведомления о пополнении

Интерфейс и API

  • app/keyboards/inline.py — кнопки для СБП и новых методов
  • app/utils/payment_utils.py — утилиты для работы с платежами
  • app/webapi/routes/miniapp.py — интеграция СБП в miniapp
  • app/services/yookassa_service.py — улучшенная конфигурация SDK

🎨 UX улучшения

  • Изменён порядок отображения способов оплаты
  • Добавлены иконки и описания для СБП
  • Улучшена навигация в меню автоплатежей
  • Оптимизирован интерфейс работы с устройствами

🏗️ Архитектурные улучшения

  • Модульность: разделение монолитных файлов на специализированные модули
  • Масштабируемость: паттерн миксинов для платёжных каналов
  • Тестируемость: изолированные компоненты с чёткими интерфейсами
  • Поддерживаемость: улучшенная структура и документация

Это крупное обновление значительно улучшает архитектуру проекта, добавляет новые способы оплаты и повышает надёжность работы системы подписок и платежей.

What's Changed

Full Changelog: v2.5.0...v2.6.0

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

NewReleases is sending notifications on new releases.