domovoy_bot/БЕЗОПАСНОСТЬ.md
Admin ba4676b0af v1.0 MVP - Инициализация проекта 🏠
 Регистрация и верификация жильцов
 Рейтинг активности (уровни)
 Детект шпионов (Score 0-100)
 Анти-мат система (3 предупреждения → бан)
 Админ-панель с рассылкой
 Учёт квартир (несколько жильцов)
 Телефоны экстренных служб и мастеров
 Еженедельный экспорт JSON
 Прокси (socks5) для обхода РКН

Бекап: backups/versions/v1.0_mvp_2026-02-26/

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-27 10:54:16 +00:00

8.7 KiB
Raw Blame History

🛡️ Безопасность: Бан, Отзыв верификации, Логирование

Что добавлено:

1 Отзыв верификации (/unverify)

2 Бан / Разбан (/ban, /unban)

3 Логирование подозрительных (/log_spy)

4 Авто-удаление через 7 дней

5 Отдельные логи для шпионов


📋 Все команды безопасности

Команда Описание Пример
/unverify <ID> [причина] Отозвать верификацию /unverify 123456789 Шпион УК
/ban <ID> [причина] Забанить + удалить из чата /ban 123456789 Мат
/unban <ID> Разбанить /unban 123456789
/log_spy <ID> [коммент] Создать лог подозрительного /log_spy 123456789 Странные сообщения
/banned Список забаненных /banned
/unverified_list С отозванной верификацией /unverified_list
/check_unverified Проверка кто не верифицирован >7 дней /check_unverified

🎯 Сценарий 1: Подозрительный жилец

Проблема: Жилец ведёт себя подозрительно, возможно шпион УК.

Решение (по шагам):

Шаг 1: Создаём лог

/log_spy 123456789 Подозрительная активность в пользу УК

Что происходит:

  • Spy Score увеличивается на 20
  • Создаётся запись в БД
  • Сохраняется отдельный лог-файл в logs/spy_logs/

Файл лога:

logs/spy_logs/123456789_username_20260223_170000.log

Шаг 2: Если подозрения подтвердились — отзываем верификацию

/unverify 123456789 Подозрение на шпиона УК

Что происходит:

  • Пользователь становится verified=False
  • Ему отправляется уведомление в личку
  • Даётся 7 дней на повторную верификацию
  • Админ получает подтверждение

Пользователь получает:

⚠️ Верификация отозвана

Причина: Подозрение на шпиона УК

❗ Что дальше:
У вас есть 7 дней на повторную верификацию.
Если не пройдёте верификацию — будете удалены из чата.

Для верификации напишите боту номер квартиры в личку.

Шаг 3: Если не верифицировался за 7 дней — авто-удаление

Бот автоматически:

  • Проверяет каждый день в 03:00
  • Находит кто не верифицирован >7 дней
  • Удаляет из чата
  • Помечает is_banned=True
  • Уведомляет админа

Админ получает:

🗑️ Пользователь удалён из чата

Пользователь: Иван Иванов
Квартира: 45
Причина: Не прошёл верификацию за 7 дней

🎯 Сценарий 2: Грубое нарушение (мат, спам)

Проблема: Пользователь нарушает правила чата.

Решение:

/ban 123456789 Мат и оскорбления

Что происходит:

  • is_banned=True в БД
  • Бот пытается удалить из чата (нужны права админа!)
  • Если не удалось — админ получает уведомление удалить вручную

Если нужно удалить вручную:

  1. Зайди в чат
  2. Найди пользователя
  3. Удали через интерфейс Telegram

🎯 Сценарий 3: Ошибка, пользователь не шпион

Проблема: Отозвали верификацию, но пользователь не шпион.

Решение:

Вариант А: Просто верифицируем заново

Пользователь пишет боту в личку: 45 Админ подтверждает: /verify_approve 123456789

Вариант Б: Разбан (если был забанен)

/unban 123456789

📊 Логи подозрительных

Где хранятся:

/home/matrixhasyou/domovoy_bot/logs/spy_logs/

Имя файла:

{user_id}_{username}_{дата}.log

Пример:

123456789_ivanov_20260223_170000.log

Что внутри:

=== ЛОГ ПОДОЗРИТЕЛЬНОЙ АКТИВНОСТИ ===
Дата: 23.02.2026 17:00
Пользователь: Иван Иванов
ID: 123456789
Username: @ivanov
Квартира: 45
Spy Score: 65/100

Комментарий админа:
Подозрительная активность в пользу УК

=== История сообщений (последние 50) ===
(см. в основном экспорте)

=== Статус ===
Верифицирован: Нет
Забанен: Нет

Автоматические проверки

Ежедневно в 02:00 — Проверка шпионов

  • Анализирует Spy Score
  • При score > 60 — уведомление админу

Ежедневно в 03:00 — Проверка неверифицированных

  • Находит кто не верифицирован >7 дней
  • Удаляет из чата автоматически
  • Уведомляет админа

🧪 Тестирование

Тест 1: Отзыв верификации

  1. С второго аккаунта верифицируйся: 100
  2. Админ получает уведомление
  3. Админ подтверждает: /verify_approve <ID>
  4. Админ отзывает: /unverify <ID> Тест
  5. Пользователь получает уведомление о 7 днях

Тест 2: Проверка авто-удаления

Для быстрого теста (не ждать 7 дней):

  1. В БД вручную измени verification_date на 8 дней назад:

    UPDATE users SET verification_date=datetime('now', '-8 days') WHERE user_id=123456789;
    
  2. Запусти проверку:

    /check_unverified
    
  3. Бот покажет список на удаление

Тест 3: Логирование

  1. Создай лог:

    /log_spy 123456789 Тестовая запись
    
  2. Проверь файл:

    ls -la logs/spy_logs/
    cat logs/spy_logs/*_123456789_*.log
    

💡 Золотой сценарий для шпиона

1. /log_spy 123456789 Странные сообщения в пользу УК
   → Spy Score +20, лог сохранён

2. /spies
   → Проверяешь что score стал >60

3. /unverify 123456789 Подозрение на шпиона
   → Верификация отозвана, дано 7 дней

4. Ждёшь 7 дней
   → Если не верифицировался:

5. Бот автоматически удаляет в 03:00
   → Админ получает уведомление

Всё приватно! Никто в группе не видит.


📊 Мониторинг

Посмотреть забаненных:

/banned

Посмотреть с отозванной верификацией:

/unverified_list

Проверить кто не верифицирован >7 дней:

/check_unverified

Посмотреть логи шпионов:

ls -la logs/spy_logs/

Преимущества

Было Стало
Нельзя отозвать верификацию /unverify — отзыв с причиной
Нет банов /ban — бан + удаление
Нет логов подозрительных Отдельные логи в logs/spy_logs/
Ручное удаление Авто-удаление через 7 дней
Не видно кто не верифицирован /unverified_list — полный список

Теперь полная безопасность дома! 🛡️🚀