📦 Релиз v2.4.6
🎯 Основные изменения
✨ Новые возможности
Информация о скидочных уровнях
- Новый раздел "Скидки за траты" в информационном меню
- Отображение текущего уровня пользователя и прогресса до следующего
- Полный перечень всех доступных уровней с порогами и скидками
- Автоматическое отображение при наличии настроенных промогрупп
Улучшенное управление триальными подписками
- Серверы теперь можно помечать как доступные для триала
- Случайный выбор сервера из пула разрешённых для триала
- Отображение имени выбранного сервера в сообщениях о триале
- Безопасное управление счётчиками пользователей при удалении подписок
Расширенное управление подписками для админов
- Возможность не только продлевать, но и сокращать срок подписки
- Поддержка отрицательных значений (от -365 до +365 дней)
- Быстрые кнопки для изменения срока (-7, -30, +7, +30 дней)
- Информативные сообщения о выполненных действиях
🎨 Улучшения интерфейса
Отображение цен при продлении
- Показ оригинальной цены и цены со скидкой
- Зачёркнутая старая цена при наличии скидки
- Корректное отображение финальной стоимости на кнопках
- Улучшенная читаемость информации о ценах
Управление пакетами трафика
- Новая секция "Отображение пакетов" в админ-панели
- Включение/отключение отдельных пакетов
- Защита от отключения всех пакетов (минимум один активный)
- Сохранение настроек в конфигурацию
🔧 Технические улучшения
Работа с временными зонами
- Поддержка переменной окружения
TZдля временной зоны панели - Все операции с датами теперь учитывают временную зону
- Корректная обработка дат из Remnawave API
- Fallback на UTC при ошибках загрузки временной зоны
Настройка автопродления
- Переменная
DEFAULT_AUTOPAY_ENABLEDв.env - Применение дефолтных настроек ко всем новым подпискам
- Использование настроек из конфига при сбросе данных пользователя
База данных
- Новая таблица
main_menu_buttonsс индексами - Колонка
is_trial_eligibleдля серверов - Миграции для всех изменений структуры БД
🌍 Локализация
Добавлены переводы для:
- Информации о скидочных уровнях (RU/EN)
- Политики конфиденциальности (RU/EN)
- Управления триальными серверами (RU/EN)
- Новых функций админ-панели (RU/EN)
🐛 Исправления
- Корректная валидация ввода дней при изменении подписки
- Правильное изменение статуса подписки при продлении/сокращении
- Обработка отсутствующих данных о ценах
- Устранены потенциальные ошибки при массовом удалении данных
- Улучшена обработка ошибок при работе с датами
📝 API
Новые эндпоинты:
GET /main-menu/buttons— получение списка кнопокPOST /main-menu/buttons— создание кнопкиPUT /main-menu/buttons/{id}— редактирование кнопкиDELETE /main-menu/buttons/{id}— удаление кнопки
🚀 Миграция
- Обновите и перезагрузите бота
- Отметьте серверы, доступные для триала
⚠️ Важно
- Обязательно сделайте копию БД перед запуском
- Проверьте корректность настроек автопродления
- Убедитесь, что указана правильная временная зона
- Как минимум один пакет трафика должен оставаться активным
What's Changed
- Раздел (Скидки за траты) в Инфо by @Fr1ngg in #871
- Потерянные локали и обновление механизма синхронизации с remnawave (синк со временем из докера) by @Fr1ngg in #881
- Вывод перечеркнутой исходной цены и скидочной вместе при продлении by @Fr1ngg in #885
- Возможность уменьшать кол-во дней подписки юзерам by @Fr1ngg in #891
- Включение автоплатежа по дефолту by @Fr1ngg in #893
- Рандомные сквады для триала, конфигурация доступных пакетов трафика через админку by @Fr1ngg in #913
Full Changelog: v2.4.5...v2.4.6