- Удалена отправка объявления в ADMIN_CHAT_ID (общий чат)
- Умная рассылка идёт ТОЛЬКО выбранным получателям
- Статистика отправляется только админу в личку
- broadcast_type='smart' вместо 'manual'
- chat_id и message_id теперь None в БД
Инцидент: бот спамил в общий чат со 100+ жителями
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Глобальный синглтон бота (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>
🐛 ПРОБЛЕМА:
• Жильцы писали номер квартиры — он НЕ СОХРАНЯЛСЯ
• 11 человек верифицированы БЕЗ квартиры!
• Авто-верификация верифицировала без проверки квартиры
🔧 ИСПРАВЛЕНИЯ:
1️⃣ web/app.py — auto_verify:
• Теперь верифицирует ТОЛЬКО с квартирой
• Проверка: apartment != None AND apartment != ''
2️⃣ handlers/verification.py — process_verification:
• Если верифицирован БЕЗ квартиры → СОХРАНЯЕТ!
• Если верифицирован С квартирой → сообщение
• Для неверифицированных → как раньше
✅ РЕЗУЛЬТАТ:
• Жильцы смогут добавить квартиру постфактум
• Авто-верификация не сломает данные
• 11 человек смогут восстановить квартиры
📝 ФАЙЛЫ:
• web/app.py: auto_verify fix
• handlers/verification.py: apartment save fix
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
🧪 ТЕСТИРОВАНИЕ:
• Проверены все кнопки меню
• Протестировано для всех уровней доступа
• Найдены и исправлены проблемы
🐛 ИСПРАВЛЕНИЯ:
• IG меню — теперь доступно админам даже если не в ИГ
• Мастера — добавлена заглушка если список пуст
• Суперадмин добавлен в ИГ автоматически
✅ РЕЗУЛЬТАТЫ ТЕСТОВ:
• Всего пользователей: 19
• Верифицированы: 12
• Не верифицированы: 7
• ИГ: 9
• Админы: 1
• Мастера в базе: 1
• Экстренные: 5
📝 ФАЙЛЫ:
• handlers/initiative_group.py: доступ админам
• handlers/users.py: заглушка для мастеров
• test_bot_comprehensive.py: новый тест
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
🐛 ИСПРАВЛЕНИЯ:
• ChatMemberUpdatedFilter не работает в aiogram 3.x как ожидалось
• Временное решение: закомментировано приветствие новых участников
• Импорт ChatMemberUpdatedFilter удалён
✅ БОТ РАБОТАЕТ:
• Active: active (running)
• Обработка сообщений: OK
• Update id обрабатываются
📝 ФАЙЛЫ:
• handlers/users.py: закомментировано welcome_new_member
🎯 В ПЛАНЕ:
• Разобраться с ChatMemberUpdatedFilter правильно
• Вернуть приветствие новых участников
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
🎉 ПРИВЕТСТВИЕ:
• Бот встречает новых участников
• Отправляет привет в личку
• Рассказывает про ЖК Ленком 37
• Инструкция по верификации
• Полезные команды
📁 ФАЙЛЫ:
• handlers/users.py: welcome_new_member
• router.chat_member: LEFT → MEMBER
🚀 АКТИВАЦИЯ:
• QR код на объявлениях
• Новые жильцы в чате
• Автоматическое приветствие
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>