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

latest releases: v3.50.0, v3.49.0, v3.48.0...
7 months ago

What's Changed

Full Changelog: v2.1.8...v2.1.9

🔧 Расширение админ-панели: Управление серверами и ресурсами пользователей

✨ Новые функции

🌍 Управление серверами

  • Мультивыбор серверов: Админы могут назначать пользователям несколько серверов через переключатель
  • Логика отображения серверов: Показывает активные серверы + уже назначенные пользователю неактивные серверы
  • Синхронизация в реальном времени: Все изменения серверов автоматически синхронизируются с RemnaWave панелью

📱 Управление устройствами

  • Изменение лимита устройств: Админы могут менять количество разрешенных устройств (1-X)
  • Быстрые кнопки: Предустановленные значения 1, 2, 3, 5, 10 устройств
  • Сброс HWID: Функция сброса привязанных устройств пользователя

📊 Управление трафиком

  • Настройка лимитов трафика: Возможность установки лимита от 0 ГБ до 10000 ГБ
  • Безлимитный режим: Опция установки безлимитного трафика (0 ГБ)
  • Быстрые настройки: Предустановленные значения 50, 100, 500, 1000 ГБ

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

🗂️ Новая структура интерфейса

  • Кнопка "⚙️ Настройки" в карточке пользователя
  • Централизованное управление: Единый интерфейс для серверов, устройств и трафика
  • Интуитивные переключатели: ✅/⚪ индикация состояния серверов

🔄 Синхронизация с Remnawave

  • Двусторонняя синхронизация: Изменения сохраняются в базе данных бота и RemnaWave панели
  • Обработка ошибок: Логирование ошибок синхронизации с сохранением работоспособности
  • Автоматические обновления: Обновление пользовательских данных в реальном времени

📁 Измененные файлы

  • app/handlers/admin/users.py - Добавлены новые обработчики и функции управления
  • app/keyboards/admin.py - Обновлена клавиатура управления пользователем
  • app/states.py - Добавлены новые состояния FSM

🚀 Использование

  1. Перейти в админ-панель → Пользователи → Выбрать пользователя
  2. Нажать "⚙️ Настройки" для доступа к новому функционалу
  3. Управлять серверами, устройствами и трафиком через интуитивный интерфейс

⚡ Быстрые действия

  • Смена серверов: Переключение серверов одним кликом
  • Настройка устройств: Быстрое изменение лимита устройств
  • Управление трафиком: Мгновенная настройка лимитов трафика
  • Сброс устройств: Одна кнопка для сброса HWID устройств

Все изменения логируются и синхронизируются с внешней панелью управления.

Исправление дублирования уведомлений

Проблема

  • Пользователи получали дублирующиеся уведомления об истечении подписки (за 3 дня и за 1 день одновременно)
  • При перезагрузке бота уведомления отправлялись повторно
  • Два независимых механизма отправки уведомлений работали параллельно

Решение

Удаленные файлы

  • app/handlers/subscription_notifications.py - дублирующий механизм уведомлений

Изменения в app/services/monitoring_service.py

Система предотвращения дублирования

  • Добавлена улучшенная система кеширования с уникальными ключами
  • Реализована автоматическая очистка кеша каждый час
  • Добавлена приоритизация уведомлений (отправляется только самое срочное)

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

  • Локальная защита от дублирования в рамках одного цикла мониторинга
  • Подробное логирование успешных и неуспешных отправок
  • Возврат boolean из функций отправки уведомлений для контроля

Оптимизация логики

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

Ключевые изменения

# Уникальные ключи кеширования
notification_key = f"expiring_{user.telegram_id}_{days}d_{subscription.id}"
user_key = f"user_{user.telegram_id}_today"

# Приоритизация уведомлений
for other_days in warning_days:
    if other_days < days:  # Более срочное уведомление
        should_send = False

Результат

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

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

  • Обновление обратно совместимо
  • Настройки в .env остаются без изменений

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

NewReleases is sending notifications on new releases.