✅ Регистрация и верификация жильцов ✅ Рейтинг активности (уровни) ✅ Детект шпионов (Score 0-100) ✅ Анти-мат система (3 предупреждения → бан) ✅ Админ-панель с рассылкой ✅ Учёт квартир (несколько жильцов) ✅ Телефоны экстренных служб и мастеров ✅ Еженедельный экспорт JSON ✅ Прокси (socks5) для обхода РКН Бекап: backups/versions/v1.0_mvp_2026-02-26/ Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
8.7 KiB
8.7 KiB
🛡️ Безопасность: Бан, Отзыв верификации, Логирование
✅ Что добавлено:
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в БД- Бот пытается удалить из чата (нужны права админа!)
- Если не удалось — админ получает уведомление удалить вручную
Если нужно удалить вручную:
- Зайди в чат
- Найди пользователя
- Удали через интерфейс 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: Отзыв верификации
- С второго аккаунта верифицируйся:
100 - Админ получает уведомление
- Админ подтверждает:
/verify_approve <ID> - Админ отзывает:
/unverify <ID> Тест - Пользователь получает уведомление о 7 днях
Тест 2: Проверка авто-удаления
Для быстрого теста (не ждать 7 дней):
-
В БД вручную измени
verification_dateна 8 дней назад:UPDATE users SET verification_date=datetime('now', '-8 days') WHERE user_id=123456789; -
Запусти проверку:
/check_unverified -
Бот покажет список на удаление
Тест 3: Логирование
-
Создай лог:
/log_spy 123456789 Тестовая запись -
Проверь файл:
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 — полный список |
Теперь полная безопасность дома! 🛡️🚀