✅ Регистрация и верификация жильцов ✅ Рейтинг активности (уровни) ✅ Детект шпионов (Score 0-100) ✅ Анти-мат система (3 предупреждения → бан) ✅ Админ-панель с рассылкой ✅ Учёт квартир (несколько жильцов) ✅ Телефоны экстренных служб и мастеров ✅ Еженедельный экспорт JSON ✅ Прокси (socks5) для обхода РКН Бекап: backups/versions/v1.0_mvp_2026-02-26/ Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
269 lines
6.9 KiB
Markdown
269 lines
6.9 KiB
Markdown
# 🚫 Анти-мат система
|
||
|
||
## ✅ Что добавлено:
|
||
|
||
### 1️⃣ **Автоматическое удаление мата**
|
||
- Бот проверяет **все сообщения**
|
||
- При обнаружении мата — **удаляет сообщение**
|
||
- Нарушитель получает **предупреждение в личку**
|
||
|
||
### 2️⃣ **Система 3 предупреждений**
|
||
|
||
| Нарушение | Реакция |
|
||
|-----------|---------|
|
||
| **1** | Предупреждение в личку (тихо) |
|
||
| **2** | Предупреждение в личку + публично в чат |
|
||
| **3** | **Бан + удаление из чата** |
|
||
|
||
### 3️⃣ **Чёрный список слов**
|
||
- Загружается из `data/bad_words.json`
|
||
- Можно добавлять/удалять команды
|
||
- **~50 матных слов** в базе
|
||
|
||
---
|
||
|
||
## 📋 Команды админа:
|
||
|
||
| Команда | Описание | Пример |
|
||
|---------|----------|--------|
|
||
| `/warnings` | Список предупреждений | `/warnings` |
|
||
| `/clear_warnings <ID>` | Сбросить предупреждения | `/clear_warnings 123456789` |
|
||
| `/add_bad_word слово` | Добавить слово в ЧС | `/add_bad_word слово` |
|
||
| `/remove_bad_word слово` | Удалить слово из ЧС | `/remove_bad_word слово` |
|
||
|
||
---
|
||
|
||
## 🎯 Как работает:
|
||
|
||
### Сценарий 1: Первое нарушение
|
||
|
||
**Пользователь пишет:**
|
||
```
|
||
Какой же этот ремонт заебал!
|
||
```
|
||
|
||
**Бот:**
|
||
1. ✅ Находит мат («заебал»)
|
||
2. ✅ **Удаляет сообщение**
|
||
3. ✅ Пишет в личку нарушителю:
|
||
```
|
||
⚠️ Предупреждение #1
|
||
|
||
Иван, в вашем сообщении обнаружена нецензурная лексика.
|
||
|
||
❗ Правила чата:
|
||
Запрещено использовать мат и оскорбления.
|
||
|
||
📊 Ваши нарушения: 1 из 3
|
||
|
||
При следующем нарушении будет публичное предупреждение.
|
||
При третьем — бан.
|
||
```
|
||
4. ✅ Тихо уведомляет админа
|
||
|
||
---
|
||
|
||
### Сценарий 2: Второе нарушение
|
||
|
||
**Бот:**
|
||
1. ✅ Удаляет сообщение
|
||
2. ✅ Пишет в личку:
|
||
```
|
||
🚨 Предупреждение #2
|
||
|
||
Иван, вы нарушили правила чата повторно!
|
||
|
||
❗ Ваше сообщение удалено за:
|
||
Использование нецензурной лексики.
|
||
|
||
📊 Ваши нарушения: 2 из 3
|
||
|
||
⚠️ Внимание!
|
||
При следующем нарушении вы будете забанены.
|
||
```
|
||
3. ✅ **Пишет в общий чат:**
|
||
```
|
||
⚠️ Внимание!
|
||
|
||
Пользователь Иван получил второе предупреждение за мат.
|
||
|
||
Пожалуйста, соблюдайте правила чата!
|
||
```
|
||
|
||
---
|
||
|
||
### Сценарий 3: Третье нарушение — БАН!
|
||
|
||
**Бот:**
|
||
1. ✅ Удаляет сообщение
|
||
2. ✅ Пишет в личку:
|
||
```
|
||
🚫 ВЫ ЗАБАНЕНЫ
|
||
|
||
Иван, вы получили третье предупреждение.
|
||
|
||
Причина: Систематическое нарушение правил чата (мат).
|
||
|
||
Вы больше не можете писать в чат.
|
||
```
|
||
3. ✅ **Удаляет из чата**
|
||
4. ✅ Помечает `is_banned=True` в БД
|
||
5. ✅ Уведомляет админа:
|
||
```
|
||
🚫 ПОЛЬЗОВАТЕЛЬ ЗАБАНЕН
|
||
|
||
Нарушитель: Иван
|
||
ID: 123456789
|
||
Причина: 3 предупреждения за мат
|
||
|
||
Пользователь удалён из чата.
|
||
```
|
||
|
||
---
|
||
|
||
## 🔧 Управление чёрным списком:
|
||
|
||
### Добавить слово:
|
||
```bash
|
||
/add_bad_word мудак
|
||
```
|
||
|
||
### Удалить слово:
|
||
```bash
|
||
/remove_bad_word мудак
|
||
```
|
||
|
||
### Посмотреть файл:
|
||
```bash
|
||
cat data/bad_words.json
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 Проверка предупреждений:
|
||
|
||
### Посмотреть все:
|
||
```bash
|
||
/warnings
|
||
```
|
||
|
||
**Ответ:**
|
||
```
|
||
⚠️ Предупреждения
|
||
|
||
• ID 123456789 — 2 предупр.
|
||
• ID 987654321 — 1 предупр.
|
||
|
||
💡 Для сброса: /clear_warnings <user_id>
|
||
```
|
||
|
||
### Сбросить предупреждение:
|
||
```bash
|
||
/clear_warnings 123456789
|
||
```
|
||
|
||
---
|
||
|
||
## 💡 Особенности:
|
||
|
||
### ✅ Что блокируется:
|
||
- Мат (50+ слов)
|
||
- Оскорбления
|
||
- Производные формы
|
||
|
||
### ❌ Что НЕ блокируется:
|
||
- Ссылки (http, t.me)
|
||
- Упоминания (@user)
|
||
- Команды (/start)
|
||
- Сообщения админов
|
||
|
||
---
|
||
|
||
## 🧪 Тестирование:
|
||
|
||
### Тест 1: Проверка удаления
|
||
|
||
**Важно:** Тестируй на **втором аккаунте** (не админ)!
|
||
|
||
1. **Отправь сообщение с матом:**
|
||
```
|
||
Какой же заебал этот бот!
|
||
```
|
||
|
||
2. **Ожидай:**
|
||
- Сообщение удалено
|
||
- В личку пришло предупреждение #1
|
||
|
||
3. **Проверь предупреждения:**
|
||
```bash
|
||
/warnings
|
||
```
|
||
|
||
### Тест 2: Сброс предупреждений
|
||
|
||
```bash
|
||
# Найди ID нарушителя:
|
||
/warnings
|
||
|
||
# Сбрось:
|
||
/clear_warnings 123456789
|
||
|
||
# Проверь:
|
||
/warnings
|
||
```
|
||
|
||
### Тест 3: Добавить слово
|
||
|
||
```bash
|
||
# Добавь:
|
||
/add_bad_word гад
|
||
|
||
# Проверь файл:
|
||
cat data/bad_words.json
|
||
|
||
# Отправь сообщение с этим словом
|
||
# Должно удалиться!
|
||
```
|
||
|
||
---
|
||
|
||
## ⚠️ Важно:
|
||
|
||
### Бот должен быть администратором!
|
||
|
||
**Дай права:**
|
||
- ✅ **Удаление сообщений** (обязательно!)
|
||
- ✅ **Бан пользователей** (для 3 нарушения)
|
||
|
||
### Иначе:
|
||
- Не сможет удалять сообщения
|
||
- Не сможет банить
|
||
|
||
---
|
||
|
||
## 📝 Чёрный список (базовый):
|
||
|
||
В файле `data/bad_words.json` уже есть ~50 слов:
|
||
- Основные матные корни
|
||
- Производные формы
|
||
- Сленговые выражения
|
||
|
||
**Можно добавлять свои:**
|
||
```bash
|
||
/add_bad_word твоё_слово
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 Преимущества:
|
||
|
||
| Было | Стало |
|
||
|------|-------|
|
||
| Мат в чате | **Автоматическое удаление** |
|
||
| Жалобы жильцов | **Тихая модерация** |
|
||
| Админ следит | **Бот работает 24/7** |
|
||
| Нет учёта | **3 предупреждения → бан** |
|
||
|
||
---
|
||
|
||
**Теперь чистота в чате!** 🚫🤬🚀
|