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

latest releases: v3.21.0, v3.20.1, v3.20.0...
4 months ago

🎉 Релиз v2.4.3

📋 Обзор

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


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

🎯 Новый раздел управления ценами в админ-панели

  • Централизованное управление тарифами: Добавлен отдельный раздел «💰 Цены» в главное меню админ-панели
  • Динамическое обновление: Тарифы теперь применяются мгновенно без перезапуска бота через автоматическое обновление кэша
  • Улучшенная навигация: Раздел «Серверы» перемещён в главное меню для удобства доступа
  • Новый обработчик: Добавлен app/handlers/admin/pricing.py с состояниями PricingStates

🚀 Улучшенная система запуска

  • StartupTimeline: Новый модуль app/utils/startup_timeline.py для пошагового логирования запуска
    • Красивые рамки и иконки для каждого этапа
    • Сводная таблица со всеми этапами и их статусами
    • Удобная диагностика проблем при запуске

⚙️ Автоматический установщик install_bot.sh

  • Полностью автоматизированная установка: Один скрипт для развёртывания всей инфраструктуры
  • Интерактивное меню управления при повторном запуске:
    • Мониторинг состояния контейнеров и ресурсов
    • Управление сервисами (запуск, остановка, пересборка)
    • Просмотр и поиск по логам
    • Автоматическое обновление из Git с резервным копированием
    • Создание и восстановление бэкапов
    • Очистка логов, бэкапов и Docker-образов
    • Помощник настройки обратного прокси Caddy
    • Конфигуратор .env с маскировкой секретов
  • Проверка зависимостей: Docker, Docker Compose, Git, Bash, OpenSSL
  • Сохранение состояния: Файл .bot_install_state для повторных запусков

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

🗄️ База данных и миграции

Синхронизация последовательностей PostgreSQL:

  • Новая функция sync_postgres_sequences для автоматической синхронизации sequences после восстановления БД
  • Автоматическая коррекция значений через setval при необходимости
  • Предотвращение ошибок с повторяющимися ключами

Улучшения CRUD операций (app/database/crud/user.py):

  • Функция _sync_users_sequence для автоматической синхронизации users_id_seq
  • Механизм повторных попыток создания пользователя (до 3 попыток)
  • Вынесена логика создания промо-группы в _get_or_create_default_promo_group
  • Улучшенное логирование операций с БД

Универсальные миграции (app/database/universal_migration.py):

  • Исправлен способ получения информации о последовательностях через динамические запросы
  • Повышена совместимость с разными версиями PostgreSQL

🔌 Интеграции и внешние сервисы

Remnawave API (app/services/subscription_service.py):

  • Проверка конфигурации при инициализации сервиса
  • Новые свойства: is_configured и configuration_error
  • Асинхронный контекстный менеджер get_api_client
  • Работа в оффлайн-режиме при отсутствии конфигурации

MulenPay Webhook (app/external/webhook_server.py):

  • Подробное логирование всех заголовков webhook
  • Временно отключена проверка подписи для отладки (с предупреждением в логах)
  • Расширенный список поддерживаемых заголовков подписи:
    • X-MulenPay-Sign, X-Mulenpay-Sign, X-MULENPAY-SIGN
    • MulenPay-Signature, Mulenpay-Signature, MULENPAY-SIGNATURE
    • signature, sign
  • Изменён уровень логирования на INFO для лучшей диагностики

📱 Мини-приложение (miniapp)

Улучшения навигации для десктопа:

  • Новые функции:
    • isDesktopPlatform() — определение десктопной платформы
    • getDesktopRedirectLink() — получение альтернативной ссылки для редиректа
    • isHappScheme(link) — проверка схемы happ://
  • Корректная обработка happ:// ссылок на десктопе: автоматический редирект на подходящую страницу
  • Использование переменной targetLink во всех способах открытия ссылок
  • Исправлено некорректное поведение при отсутствии userData

🎨 Конфигурация и настройки

Рефакторинг системы настроек (app/config.py)

  • Расширенные категории настроек с подробными описаниями:
    • CORE, SUBSCRIPTIONS_CORE, ADMIN_REPORTS, SERVER_STATUS, VERSION, MAINTENANCE, INTERFACE, TRAFFIC_PACKAGES
  • Метод format_value_human для человеко-читаемого отображения:
    • Корректное отображение булевых значений
    • Числовые параметры с единицами (часы, минуты, ГБ, проценты, рубли)
    • Маскировка секретных данных (пароли, токены, ключи)
    • Обработка списков и словарей
  • Новый словарь SETTING_HINTS с подробными подсказками для ключевых параметров
  • Функция get_setting_guidance для агрегированной справки по настройкам

Изменения типов переменных:

  • DATABASE_URL, REMNAWAVE_API_URL, REMNAWAVE_API_KEY, TRIAL_SQUAD_UUID теперь Optional[str]
  • Значения по умолчанию установлены в None вместо пустой строки

Новые состояния бота

  • waiting_for_search_query — ожидание поискового запроса
  • waiting_for_import_file — ожидание файла импорта

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

Обновлённый README

Новый раздел: Автоустановка через install_bot.sh:

  • Подробное описание процесса автоматической установки
  • Инструкции по работе с интерактивным меню
  • Информация о сохранении состояния установки

Новый раздел: Настройка обратного прокси и доменов:

  • Инструкции по выделению отдельных доменов для вебхуков и мини-приложения
  • Примеры конфигураций для Caddy и nginx в Docker
  • Настройка DNS и переменных окружения
  • Инструкции по созданию общей Docker-сети (bot_network)
  • Чек-лист для проверки корректной работы
  • Примеры cURL-запросов для тестирования

Структурные изменения:

  • Раздел ручного запуска перемещён ниже
  • Улучшена навигация и читаемость документации

🌍 Локализация

Обновления переводов

  • Добавлены десятки новых строк для раздела «Цены»
  • Обновлены строки для изменённой навигации админ-панели
  • Добавлены переводы для форм, ошибок и подсказок
  • Поддержка русского и английского языков

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

Критические исправления

  • ✅ Исправлены проблемы с автоинкрементом после восстановления БД
  • ✅ Устранены ошибки с повторяющимися ключами в таблице пользователей
  • ✅ Исправлена некорректная привязка ключей к категориям настроек
  • ✅ Исправлено поведение happ:// ссылок на десктопе

Улучшения стабильности

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

🔄 Миграция

Для пользователей PostgreSQL

  1. После обновления автоматически выполнится синхронизация последовательностей
  2. Проверьте логи для подтверждения успешной миграции
  3. Рекомендуется создать резервную копию перед обновлением

Для новых установок

Используйте новый скрипт install_bot.sh для автоматического развёртывания всей инфраструктуры.


📊 Статистика изменений

  • Изменено файлов: 20+
  • Добавлено строк кода: 2000+
  • Новых функций: 15+
  • Исправлено багов: 8+

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

Спасибо всем, кто тестировал бета-версию и предоставлял фидбек!


Полный список изменений: v2.4.2...v2.4.3

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

NewReleases is sending notifications on new releases.