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

latest releases: v3.4.0, v3.3.0, v3.2.0...
5 months ago

🎫 Обновление системы промокодов

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

Полное редактирование промокодов

  • Изменение суммы бонуса для промокодов баланса
  • Редактирование количества дней для промокодов подписки
  • Настройка лимита использований (включая безлимитные)
  • Установка срока действия промокода

Улучшенная статистика

  • Отображение username пользователей в статистике использований
  • Показ полного имени при отсутствии username
  • Резервный показ Telegram ID для анонимных пользователей

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

Критические ошибки

  • Исправлено удаление промокодов: устранена ошибка нарушения внешнего ключа при удалении
  • Устранена ошибка "message is not modified": исправлена регистрация обработчиков callback-запросов
  • Добавлены недостающие импорты: исправлена ошибка NameError: name 'User' is not defined

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

  • Правильный порядок регистрации обработчиков (специфичные перед общими)
  • Корректное извлечение ID промокодов из callback_data
  • Каскадное удаление связанных записей использования промокодов

🎨 Улучшения интерфейса

  • Кликабельные кнопки управления вместо текстовых команд /promo_1
  • Информативные меню редактирования с отображением текущих параметров
  • Расширенная статистика с детальной информацией о пользователях
  • Подтверждение удаления с дополнительной информацией о промокоде

🔧 Технические детали

Обновленные файлы

  • app/handlers/admin/promocodes.py - полная система редактирования
  • app/database/crud/promocode.py - исправленная CRUD логика
  • Добавлены новые FSM состояния для редактирования

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

  • show_promocode_edit_menu() - главное меню редактирования
  • start_edit_promocode_*() - обработчики начала редактирования
  • handle_edit_*() - логика обработки изменений
  • Улучшенная get_promocode_statistics() с JOIN пользователей

Исправление ошибок реферальной системы

Исправлено

  • Ошибка дублирования пользователей при регистрации с реферальным кодом
  • Блокировка ввода реферальных кодов в AuthMiddleware во время регистрации
  • Логика обработки существующих/удаленных пользователей при повторной регистрации

Добавлено

  • Универсальный обработчик реферальных кодов - теперь можно вводить коды без команды /start
  • Корректная проверка FSM состояний в AuthMiddleware для waiting_for_referral_code
  • Отладочные логи для диагностики процесса регистрации

Технические изменения

  • Обновлен app/handlers/start.py с обработчиком handle_potential_referral_code
  • Исправлена логика валидации состояний в app/middlewares/auth.py
  • Добавлена защита от создания дубликатов пользователей
  • Улучшена обработка крайних случаев для удаленных и существующих пользователей

Обновление профилей пользователей

Исправления

  • Автоматическое обновление профилей: При каждом взаимодействии с ботом (команда /start, нажатие кнопок) автоматически обновляются username, имя и фамилия пользователя
  • Исправлена проблема с устаревшими данными: Перенесенные пользователи теперь получают актуальную информацию профиля
  • Улучшено логирование: Добавлено отслеживание изменений профиля в логах

Затронутые файлы

  • app/handlers/start.py - добавлено обновление профиля в команде /start
  • app/middlewares/auth.py - добавлено обновление профиля во всех взаимодействиях

Техническая информация

Обновление происходит в двух местах:

  1. При выполнении команды /start
  2. В middleware при любом взаимодействии с ботом

Это гарантирует, что данные пользователей всегда остаются актуальными.

Full Changelog: v2.1.2...v2.1.3

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

NewReleases is sending notifications on new releases.