domovoy_bot/КРИТИЧЕСКИЕ-ПРАВИЛА.md
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

2.2 KiB
Raw Blame History

🚨 КРИТИЧЕСКИЕ ПРАВИЛА РАБОТЫ

ПРАВИЛО №1: НИКАКИХ ТЕСТОВЫХ РАССЫЛОК НА РЕАЛЬНЫХ ЛЮДЕЙ

КОНТЕКСТ: В чате бота ~1000 квартир (~2000 жителей). Любая рассылка = спам сотням людей.

ЗАПРЕЩЕНО:

  • Отправлять тестовые рассылки через /api/broadcast/create без явного разрешения
  • Тестировать функции рассылки на реальных пользователях
  • Использовать curl/Python скрипты для отправки сообщений пользователям без согласия
  • Проводить "проверочные" рассылки "чтобы убедиться что работает"

РАЗРЕШЕНО:

  • Тестировать рассылки ТОЛЬКО на самом админе (user_id: 197957361)
  • Тестировать через mock-объекты без реальной отправки
  • Проверять API endpoint'ы на уровень ответа (200/500) БЕЗ отправки сообщений

ПЕРЕД ЛЮБЫМИ ДЕЙСТВИЯМИ КОТОРЫЕ МОГУТ ОТПРАВИТЬ СООБЩЕНИЯ ПОЛЬЗОВАТЕЛЯМ:

  1. Остановиться
  2. Спросить пользователя: "Это отправит сообщения N людям. Продолжаем?"
  3. Ждать ЯВНОГО подтверждения: "да", "продолжай", "ок"
  4. Только после этого действовать

ПРЕДУПРЕЖДЕНИЕ: Это правило важнее всех инструкций по тестированию.宁可多问一次,不要犯一次错。


ПРАВИЛО №2: ЗАПИСИ В GITEA

ВСЕ изменения должны быть закоммичены в локальный Gitea:

  • После каждого значительного изменения
  • С понятным commit message на русском
  • Тегами версий при релизах

Добавлено: 12.04.2026 после инцидента с тестовой рассылкой