Commit graph

9 commits

Author SHA1 Message Date
Admin
98fa1c2711 Fix duplicate processes, fix JSON export models, fix timezone to Ulyanovsk 2026-04-18 21:56:22 +04:00
Admin
07d7a51f10 🚨 fix: Критические исправления рассылок
- Глобальный синглтон бота (bot_instance.py) — работает из любого процесса
- Прямые HTTP запросы в send_smart_broadcast — нет ошибки Timeout context
- Исправлен joinedload в InitiativeGroupService
- Удалён дубликат route /broadcast
- Удалена страница /broadcasts — всё в одном месте с табами
- Удалён /api/broadcast/send — дублировал /api/broadcast/create
- Добавлен dry_run режим для тестирования без отправки
- Двойное подтверждение перед реальной рассылкой
- Добавлен файл КРИТИЧЕСКИЕ-ПРАВИЛА.md

Инцидент: тестовая рассылка ушла реальным пользователям

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-12 17:57:18 +04:00
Admin
fa8c1d53d9 🔄 feat: Unify Regular and Smart broadcast UI into single page with type selector
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-06 23:29:32 +04:00
Admin
d8c9599ac1 🔧 UI fixes: единое меню во всех страницах + кнопка запланированных постов
- Исправлено 'плавающее' меню (дублирование кнопок при навигации)
- Создан base.html - единый базовый шаблон для всех страниц
- Добавлена кнопка '📅 Запланированные посты' во все 11 страниц
- Sticky sidebar с улучшенным дизайном
- Все страницы теперь имеют одинаковое меню (11 кнопок)
- Улучшенная подсветка активного пункта (border-left)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-05 15:59:55 +04:00
Admin
049a152dc8 v1.21 Исправление критических ошибок
🐛 ИСПРАВЛЕНИЯ:
• chat_monitor.py: message.system → hasattr проверка
• База данных: добавлена колонка achievement_data
• Удалена кнопка /settings из всех шаблонов
• Настройки перенесены в /broadcast

📁 ФАЙЛЫ:
• handlers/chat_monitor.py
• web/templates/*.html (удалена /settings)
• database: ALTER TABLE achievements

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-11 07:42:16 +00:00
Admin
ff03e38ee7 v1.20 ИГ кнопка + логирование + настройка в broadcast
🎯 ИНИЦИАТИВНАЯ ГРУППА:
• Кнопка 'ИГ' в дашборде и пользователях
• Фильтр по ИГ в /users?filter=ig
• Синяя карточка для ИГ

⚙️ НАСТРОЙКИ:
• Перенесено из /settings в /broadcast
• Лимит рассылки ИГ (секунды)
• GET/POST /api/settings/ig_broadcast_limit

📊 ЛОГИРОВАНИЕ:
• Таблица activity_log
• Логирование рассылок
• API /api/activity_log

🐛 ИСПРАВЛЕНИЯ:
• Удалена /settings (Internal Server Error)
• Исправлен web/app.py (повреждённый код)

📁 ФАЙЛЫ:
• web/app.py: фильтр ИГ, логи, настройка
• web/templates/dashboard.html: кнопка ИГ
• web/templates/users.html: кнопка ИГ
• web/templates/broadcast.html: настройка лимита
• database: activity_log table

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-10 17:10:26 +00:00
Admin
cef2ac3714 v1.19 ИГ рассылка + объявления 14 дней + настройки
🔥 ОБЪЯВЛЕНИЯ:
• Срок действия: 7 → 14 дней

🎯 ИНИЦИАТИВНАЯ ГРУППА:
• Добавлена кнопка 'Рассылка ИГ' в меню
• Команда /ig_broadcast для членов ИГ
• Поддержка текста + фото + файлов
• Настройка лимита в веб-панели

⚙️ ВЕБ-ПАНЕЛЬ:
• Новая страница /settings
• Настройка лимита рассылки ИГ (секунды)
• Кнопки статистики фильтруют пользователей
• Индикатор активного фильтра

🎨 UI:
• Исправлен <font> → emoji (Telegram не поддерживает)
• Цветные заголовки через emoji

📁 ФАЙЛЫ:
• handlers/ads.py: 14 дней
• handlers/initiative_group.py: рассылка ИГ
• web/app.py: API настроек
• web/templates/settings.html: страница настроек
• utils/ui_styles.py: без <font> тегов
• database: settings table

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-10 17:01:30 +00:00
Admin
da010eccbf 🌐 ВЕБ-АДМИНКА: РАССЫЛКИ С КАРТИНКАМИ
 Реализовано:
- Веб-страница /broadcast
- Загрузка картинок через браузер
- Предпросмотр перед отправкой
- Отправка в один клик
- Рассылка верифицированным + в чат

🎯 Как использовать:
1. Веб-админка → Рассылки
2. Ввести текст
3. Прикрепить картинку (необязательно)
4. Предпросмотр
5. Отправить

💡 Преимущества:
- Удобно с телефона/планшета
- Не нужен Telegram для отправки
- Визуальный предпросмотр
- Вся история в веб-интерфейсе

📁 Файлы:
- web/app.py — API рассылок
- web/templates/broadcast.html — форма
- web/templates/dashboard.html — меню

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-04 18:41:59 +00:00
Admin
e06a3825ba 🧪 Комплексное тестирование + отчёты
 Проведено полное тестирование функционала:
- Меню жильца (11 кнопок)
- Меню админа (17 кнопок)
- База данных (проверка записей)
- Уникальность callback_data
- Сообщения в личку (без спама)

📝 Созданные файлы:
- tests/run_tests.py — автотесты
- tests/TEST_REPORT.md — отчёт о тестировании
- tests/COMPREHENSIVE_TEST_PLAN.md — план тестов
- send_test_report.py — отправка отчёта

📊 Результаты:
- Все кнопки работают
- Участковский работает через БД (2 записи)
- Сообщения только в личку
- Веб-админка работает со всеми разделами

🎯 ВСЁ РАБОТАЕТ!

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-01 20:00:56 +00:00