📲 Система кнопок для рассылок
-
Добавлен селектор кнопок при создании рассылки
-
Доступны три типа кнопок:
- 💰 Пополнить баланс — переход к методам пополнения
- 🤝 Рефералы — переход к реферальной программе
- 🎫 Промокод — открывает ввод промокода
-
К каждой рассылке автоматически добавляется кнопка "На главную"
-
Визуальные индикаторы выбора кнопок (✅ / обычный вид)
-
Предварительный просмотр кнопок перед отправкой
🖼️ Поддержка медиа в рассылках
- Возможность добавлять фото, видео и документы в рассылки
- Поддержка подписи к медиа и предварительного просмотра
- Кнопка "Пропустить медиа" для отправки только текста
- Кнопка "Изменить медиа" на этапе предварительного просмотра
📊 Новые возможности админки
-
Новая статистика: онлайн сегодня и онлайн за неделю
-
После успешной оплаты (Telegram Stars, YooKassa, CryptoBot, Tribute) показываются быстрые действия by @yazhog:
- продлить/купить подписку
- пополнить баланс
- главное меню
📜 Управление правилами
-
Полная валидация HTML тегов
-
Автоисправление ошибок разметки
-
История версий правил с возможностью восстановления
-
Новые команды для администраторов:
/clear_rules # Очистить правила /rules_stats # Статистика по правилам /admin_help # Справка
-
Встроенная справка по поддерживаемым тегам
🔔 Уведомления для администраторов
-
Отправка уведомлений при изменениях в подписке:
- списка стран (серверов)
- количества устройств
- лимита трафика
-
В уведомлениях отображаются старые/новые значения, сумма оплаты, баланс и информация о пользователе
🔧 Технические изменения
-
Обновлён
app/handlers/admin/messages.py:- логика выбора кнопок
- поддержка медиафайлов
- обновлён процесс создания рассылки
-
Новые состояния FSM:
waiting_for_message_buttonswaiting_for_broadcast_media
-
В базу данных добавлены поля для медиа:
has_media,media_type,media_file_id,media_caption
-
Расширена модель
BroadcastHistory -
Обновлены клавиатуры админки (
admin.py) -
Новые обработчики для медиа и кнопок
⚡ Улучшения
- UX: удобный пошаговый процесс создания рассылки (аудитория → текст → медиа → кнопки → предпросмотр → отправка)
- Поддержка локализации текстов кнопок по языку пользователя
- Динамическая кнопка подключения в главном меню в зависимости от состояния подписки by @yazhog
- Более информативные уведомления о пополнении баланса by @yazhog
- Валидация HTML и ошибки показываются до сохранения в БД
- Логирование операций с правилами и уведомлениями
🐛 Исправления
- Исправлены ошибки передачи параметров при генерации клавиатур
- Исправлены проблемы локализации кнопок после оплаты
- Исправлена критическая ошибка с незакрытыми HTML тегами
- Стабилизирована отправка медиа в рассылках
- Улучшено логирование ошибок отправки
🔒 Безопасность
- Валидация HTML тегов и защита от XSS
- Проверка типов и размера медиа (до 50 МБ)
- Использование
file_idдля оптимизации хранения медиа
📚 Совместимость и миграции
- Полная обратная совместимость с текстовыми рассылками
- Автоматическая миграция БД (новые поля в истории рассылок)
- Существующие правила остаются без изменений, новая валидация применяется при первом редактировании
What's Changed
- Добавляемые кнопки для рассылок by @Fr1ngg in #68
- Кнопка подключиться в главное меню, Переход к покупке/продлению подписки с окна уведомления о платеже by @yazhog in #69
- Новые уведомления об изменении доп услуг by @Fr1ngg in #70
- Доработка раздела с правилами + валидация by @Fr1ngg in #72
- Медиа в рассылках by @Fr1ngg in #73
Full Changelog: v2.3.1...v2.3.2