domovoy_bot/README.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

207 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🏠 Домовой Бот
Бот для чата жильцов многоквартирного дома.
## 🚀 Быстрый старт
### 1. Установка зависимостей
```bash
cd /home/matrixhasyou/domovoy_bot
python3 -m venv venv
source venv/bin/activate # Linux
pip install -r requirements.txt
```
### 2. Настройка
1. Получите токен бота у [@BotFather](https://t.me/BotFather)
2. Узнайте свой Telegram ID через [@userinfobot](https://t.me/userinfobot)
3. Узнайте ID чата дома (перешлите сообщение из чата боту @GetMyChatIdBot)
4. Отредактируйте `.env`:
```ini
BOT_TOKEN=ваш_токен_от_BotFather
ADMIN_CHAT_ID=-1001234567890 # ID чата дома
ADMIN_USER_ID=123456789 # Ваш ID
```
### 3. Инициализация БД
```bash
python database/init_db.py
```
### 4. Запуск
```bash
python main.py
```
---
## 📱 Команды
### Для жильцов:
| Команда | Описание |
|---------|----------|
| `/start` | Регистрация и главное меню |
| `/помощь` | Справка по командам |
| `/телефон` | Экстренные службы |
| `/мастера` | Сантехники, электрики |
| `/моя_квартира` | Проверка привязки |
### Для админа:
| Команда | Описание |
|---------|----------|
| `/admin` | Панель администратора |
| `/stats` | Статистика чата |
| `/spies` | Подозрительные пользователи |
| `/export` | Экспорт JSON |
| `/users` | Список жильцов |
| `/verify` | Заявки на верификацию |
---
## 🕵️ Детект шпионов
Бот автоматически анализирует пользователей по факторам:
| Фактор | Баллы |
|--------|-------|
| Нет аватарки | +10 |
| Стандартный ник (user12345) | +15 |
| Не прошёл верификацию >24ч | +25 |
| Активность только 9-18 пн-пт | +15 |
| Провокационные сообщения в пользу УК | +30 |
**Пороги:**
- 0-30: 🟢 Норма
- 31-60: 🟡 Подозрительно
- 61+: 🔴 Шпион! (уведомление админу)
---
## 📊 Экспорт данных
Еженедельно (воскресенье 03:00) бот создаёт JSON-файл в папке `exports/`:
```json
{
"export_date": "2026-02-23T03:00:00",
"users": [...],
"messages": [...]
}
```
---
## 📁 Структура проекта
```
domovoy_bot/
├── config.py # Конфигурация
├── main.py # Точка входа
├── requirements.txt # Зависимости
├── .env # Переменные окружения
├── database/
│ ├── models.py # SQLAlchemy модели
│ ├── db.py # Подключение к БД
│ └── init_db.py # Инициализация
├── handlers/
│ ├── admin.py # Админские команды
│ ├── users.py # Пользовательские команды
│ ├── verification.py # Верификация жильцов
│ └── chat_monitor.py # Мониторинг чата
├── services/
│ ├── spy_detector.py # Детект шпионов
│ ├── analytics.py # Аналитика и экспорт
│ └── scheduler.py # Планировщик задач
├── keyboards/
│ ├── inline.py # Inline-кнопки
│ └── reply.py # Reply-кнопки
├── utils/
│ ├── decorators.py # Декораторы
│ ├── formatters.py # Форматирование
│ └── validators.py # Валидация
├── data/
│ ├── phones.json # Телефоны служб
│ └── spies_patterns.json # Паттерны шпионов
├── logs/ # Логи
├── exports/ # JSON экспорты
└── backups/ # Бэкапы БД
```
---
## 🔧 Настройка телефонов
Отредактируйте `data/phones.json` или добавьте через БД:
```json
{
"emergency": [
{"name": "Диспетчер УК", "phone": "+7 (XXX) XXX-XX-XX"}
]
}
```
---
## 🛡 Безопасность
- Персональные данные хранятся только локально
- Доступ к админ-функциям только по `ADMIN_USER_ID`
- Экспорты JSON в защищённой папке
---
## 📝 Логи
Логи сохраняются в `logs/bot.log`
---
## 🔄 Автозапуск (systemd)
Создайте `/etc/systemd/system/domovoy-bot.service`:
```ini
[Unit]
Description=Domovoy Bot
After=network.target
[Service]
Type=simple
User=matrixhasyou
WorkingDirectory=/home/matrixhasyou/domovoy_bot
ExecStart=/home/matrixhasyou/domovoy_bot/venv/bin/python main.py
Restart=always
[Install]
WantedBy=multi-user.target
```
```bash
sudo systemctl enable domovoy-bot
sudo systemctl start domovoy-bot
sudo systemctl status domovoy-bot
```
---
## 📞 Поддержка
Вопросы и предложения: @your_contact
---
**Версия:** 1.0
**Лицензия:** MIT