# 🚫 Анти-мат система

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

### 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 предупреждения → бан** |

---

**Теперь чистота в чате!** 🚫🤬🚀
