# 🏠 Домовой Бот Бот для чата жильцов многоквартирного дома. ## 🚀 Быстрый старт ### 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