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

latest releases: v3.20.1, v3.20.0, v3.19.0...
5 months ago

📦 Changelog - Release v2.3.6

🚀 Обзор релиза

Масштабное обновление с поддержкой многоязычности(Еще в работе), рекламными кампаниями, API для управления подписками(Ведется разработка) и множеством улучшений UX!


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

🌍 Глобальная поддержка многоязычности @yazhog

Функция Описание
i18n система Полная локализация команд, сообщений, кнопок и уведомлений
Файлы локалей Поддержка .yml и .json форматов в locales/
Автоматические шаблоны Создание ru.yml, en.yml при первом запуске
Переменные окружения LOCALES_PATH, DEFAULT_LANGUAGE, AVAILABLE_LANGUAGES
Docker поддержка Настройка через volumes и env-переменные

🔗 Гибкая настройка поддержки @Fr1ngg

# Теперь поддерживаются все форматы:
SUPPORT_USERNAME: @support_bot        # Username
SUPPORT_USERNAME: t.me/support        # Короткая ссылка
SUPPORT_USERNAME: https://t.me/...    # Полный URL

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

📊 Архитектурные изменения

  • 🏗️ Новые сервисы:

    • SubscriptionService - управление подписками
    • SubscriptionCheckoutService - работа с черновиками
    • AdvertisingCampaignService - логика кампаний
  • 📦 Расширенные репозитории:

    • Методы пагинации и поиска
    • CRUD операции для кампаний
    • Оптимизированные запросы
  • 🔄 Dependency Injection:

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

🗃️ База данных

-- Новые таблицы:
• advertising_campaigns
• advertising_campaign_registrations
• subscription_drafts

📝 Миграция

⚠️ Важные шаги обновления

  1. База данных

    alembic upgrade head
    
  2. Переменные окружения

    # Добавить в .env:
    LOCALES_PATH=./locales
    DEFAULT_LANGUAGE=ru
    AVAILABLE_LANGUAGES=ru,en
    
  3. Docker volumes

    volumes:
      - ./locales:/app/locales
    
  4. Проверка локалей

    • Скопировать файлы из app/localization/default_locales/
    • Настроить переводы под ваши нужды

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

  • 🔧 Корректная обработка ошибок при восстановлении черновиков
  • 🔧 Безопасное HTML-экранирование контактов поддержки
  • 🔧 Устранение дублирования кода в клавиатурах
  • 🔧 Исправлена навигация в админ-панели
  • 🔧 Оптимизация расчёта стоимости подписок

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

  • 📖 Обновлены README.md и .env.example
  • 📖 Добавлены примеры настройки локализации
  • 📖 Документированы новые API эндпоинты
  • 📖 Инструкции по созданию рекламных кампаний

⚡ Совместимость

  • Обратная совместимость: Сохранена для всех существующих функций
  • ⚠️ Breaking changes: Нет
  • 📦 Минимальные требования: Python 3.11+, PostgreSQL 14+

🎉 Благодарности

Спасибо всем контрибьюторам за их вклад в развитие проекта!

@yazhog | @Gy9vin | @FireWookie


Полный список изменений и детали реализации доступны в соответствующих PR.

# 📦 Changelog - Release v2.3.6

🚀 Обзор релиза

Масштабное обновление с поддержкой многоязычности, рекламными кампаниями, API для управления подписками и множеством улучшений UX!


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

🌍 Глобальная поддержка многоязычности [@yazhog](https://github.com/yazhog)

Функция Описание
i18n система Полная локализация команд, сообщений, кнопок и уведомлений
Файлы локалей Поддержка .yml и .json форматов в locales/
Автоматические шаблоны Создание ru.yml, en.yml при первом запуске
Переменные окружения LOCALES_PATH, DEFAULT_LANGUAGE, AVAILABLE_LANGUAGES
Docker поддержка Настройка через volumes и env-переменные

📢 Рекламные кампании [@Fr1ngg](https://github.com/Fr1ngg)

Компонент Функционал
База данных Новые модели AdvertisingCampaign и AdvertisingCampaignRegistration
Админ-панель Полноценный раздел управления кампаниями
Бонусная система • Начисление баланса
• Выдача подписок
• Защита от повторного получения
Deep linking Регистрация через /start?start=campaign_id
Статистика Отслеживание конверсий и регистраций

🔄 API для подписок [@FireWookie](https://github.com/FireWookie)

📌 POST   /api/v1/subscriptions/{user_id}/extend  - Продление подписки
📌 GET    /api/v1/users/list                      - Список пользователей с пагинацией  
📌 GET    /api/v1/users/search?username_prefix=   - Поиск по username
📌 PATCH  /api/v1/users/{user_id}/balance         - Обновление баланса

🎯 Улучшения UX

💾 Система черновиков подписок [@Fr1ngg](https://github.com/Fr1ngg)

Проблема решена: Пользователи больше не теряют выбранную конфигурацию при недостатке средств!

  • ✅ Автосохранение параметров подписки при выходе
  • ✅ Кнопка "↩️ Вернуться к оформлению" в главном меню
  • ✅ Восстановление корзины после пополнения баланса
  • ✅ Умная очистка черновиков после покупки

🎛️ Расширенная админ-панель [@Gy9vin](https://github.com/Gy9vin)

Функция Описание
Фильтры пользователей Сортировка по балансу (убывание)
Навигация Запоминание источника перехода
Быстрые действия Кнопки после пополнения баланса

🔗 Гибкая настройка поддержки [@Fr1ngg](https://github.com/Fr1ngg)

# Теперь поддерживаются все форматы:
SUPPORT_USERNAME: @support_bot        # Username
SUPPORT_USERNAME: t.me/support        # Короткая ссылка
SUPPORT_USERNAME: https://t.me/...    # Полный URL

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

📊 Архитектурные изменения

  • 🏗️ Новые сервисы:

    • SubscriptionService - управление подписками
    • SubscriptionCheckoutService - работа с черновиками
    • AdvertisingCampaignService - логика кампаний
  • 📦 Расширенные репозитории:

    • Методы пагинации и поиска
    • CRUD операции для кампаний
    • Оптимизированные запросы
  • 🔄 Dependency Injection:

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

🗃️ База данных

-- Новые таблицы:
• advertising_campaigns
• advertising_campaign_registrations
• subscription_drafts

📝 Миграция

⚠️ Важные шаги обновления

  1. База данных

    alembic upgrade head
  2. Переменные окружения

    # Добавить в .env:
    LOCALES_PATH=./locales
    DEFAULT_LANGUAGE=ru
    AVAILABLE_LANGUAGES=ru,en
  3. Docker volumes

    volumes:
      - ./locales:/app/locales
  4. Проверка локалей

    • Скопировать файлы из app/localization/default_locales/
    • Настроить переводы под ваши нужды

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

  • 🔧 Корректная обработка ошибок при восстановлении черновиков
  • 🔧 Безопасное HTML-экранирование контактов поддержки
  • 🔧 Устранение дублирования кода в клавиатурах
  • 🔧 Исправлена навигация в админ-панели
  • 🔧 Оптимизация расчёта стоимости подписок

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

  • 📖 Обновлены README.md и .env.example
  • 📖 Добавлены примеры настройки локализации
  • 📖 Документированы новые API эндпоинты
  • 📖 Инструкции по созданию рекламных кампаний

⚡ Совместимость

  • Обратная совместимость: Сохранена для всех существующих функций
  • ⚠️ Breaking changes: Нет
  • 📦 Минимальные требования: Python 3.11+, PostgreSQL 14+

🎉 Благодарности

Спасибо всем контрибьюторам за их вклад в развитие проекта!

[@yazhog](https://github.com/yazhog) | [@Gy9vin](https://github.com/Gy9vin) | [@FireWookie](https://github.com/FireWookie)


Полный список изменений и детали реализации доступны в соответствующих PR.

What's Changed

  • Сохранение истории покупки в кеше + предложение продолжить покупку после пополнения баланса by @Fr1ngg in #123
  • Возможность указывать ссылку на саппорт, а не только юзернейм by @Fr1ngg in #125
  • Рекламные компании by @Fr1ngg in #130
  • Редактирование РК + фикс удаления by @Fr1ngg in #138
  • Добавлена фильтрация пользователей по балансу by @Gy9vin in #114
  • Правки в меню редактирования профиля юзера by @Fr1ngg in #142
  • Feature/locale Переводы на др языки by @yazhog in #131
  • Фиксы покупки подписки в апдейте с локалью by @Fr1ngg in #150
  • docs: expand functionality overview by @Fr1ngg in #153
  • Dev BedolagaAPI by @FireWookie in #143

Full Changelog: v2.3.5...v2.3.6

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

NewReleases is sending notifications on new releases.