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

latest releases: v3.17.1, v3.17.0, v3.16.3...
5 months ago

✍️ Проверка подписки на группу by @FireWookie

Добавлено:

  • Новый middleware ChannelCheckerMiddleware для проверки обязательной подписки на канал перед использованием бота.
  • Переменные окружения для обязательной подписки:
    • CHANNEL_SUB_ID — ID канала
    • CHANNEL_LINK — ссылка на канал
    • CHANNEL_IS_SUB_REQUIRED — обязательна ли подписка (булево значение)
  • Кнопочная клавиатура для подписки на канал с кнопками "Подписаться" и "Я подписался".
  • Хендлер required_sub_channel_check для повторной проверки подписки по нажатию кнопки "Я подписался".
  • Вынесена логика определения процесса регистрации пользователя в отдельный модуль app/utils/check_reg_process.py.

Изменено:

  • Расширена и обновлена схема настроек в файле app/config.py — добавлены новые переменные для поддержки обязательной подписки.
  • В файле app/bot.py добавлена регистрация нового middleware для всех сообщений и callback-запросов.
  • В app/keyboards/inline.py добавлена генерация inline-клавиатуры для подписки на канал.
  • Хендлеры регистрации (app/handlers/start.py) теперь поддерживают дополнительную проверку подписки (через callback "sub_channel_check").
  • Middleware авторизации теперь использует вынесенную функцию для проверки этапа регистрации пользователя.

Прочее:

  • В пример .env.example добавлены новые переменные для настройки обязательной подписки.

📖 Возможность настраивать шаблон описания пользователя через плейсхолдеры by @yazhog

  • Новая переменная окружения REMNAWAVE_USER_DESCRIPTION_TEMPLATE в .env.example для настройки шаблона описания пользователя в панели RemnaWave.
  • Возможность настраивать шаблон описания пользователя через плейсхолдеры: {full_name}, {username}, {username_clean}, {telegram_id}.
  • Функция format_remnawave_user_description в настройках (app/config.py) для формирования описания пользователя по заданному шаблону.
  • Асинхронное обновление описания пользователя в RemnaWave при обновлении профиля пользователя в middleware (app/middlewares/auth.py).

Изменено

  • Везде, где происходит создание или обновление пользователя в RemnaWave (админка, подписки, мониторинг, синхронизация), теперь для описания используется настраиваемый шаблон через settings.format_remnawave_user_description.
  • Удалены хардкодированные описания вида Bot user: {full_name} — теперь описание формируется динамически по шаблону.

Исправлено

  • Корректная обработка ситуации, когда у пользователя отсутствует username (удаление лишних символов "@" и пробелов в описании).

⚙️ Доработка сервиса мониторинга

Улучшено

  • Добавлена постраничная навигация для логов мониторинга (пагинация).
  • В логах теперь отображается общая статистика: количество событий, успешные/ошибочные проверки, процент успешности.
  • Кнопки управления логами и навигацией теперь более удобны и информативны.
  • Добавлены новые клавиатуры для управления логами и фильтрации.
  • Улучшена обработка очистки логов: теперь можно очистить все логи сразу.

Исправлено

  • Исправлены сообщения и оформление для пустых логов.
  • Оптимизировано отображение длинных сообщений в логах (обрезка текста).

Техническое

  • Обновлён сервис monitoring_service: добавлены методы для подсчёта количества логов и улучшена очистка.
  • Рефакторинг обработчиков мониторинга для поддержки новой пагинации и статистики.
  • Обновлены и расширены вспомогательные клавиатуры в keyboards/admin.py.

What's Changed

  • Фиксы сервиса мониторинга by @Fr1ngg in #74
  • Codex/required sub channel by @FireWookie in #76
  • Dev by @Fr1ngg in #79
  • Шаблон описания пользователя в панели Remnawave, с плейсхолдерами by @yazhog in #78

New Contributors

Full Changelog: v2.3.2...v2.3.3

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

NewReleases is sending notifications on new releases.