No description
🏠 Домовой Бот
Бот для чата жильцов многоквартирного дома.
🚀 Быстрый старт
1. Установка зависимостей
cd /home/matrixhasyou/domovoy_bot
python3 -m venv venv
source venv/bin/activate # Linux
pip install -r requirements.txt
2. Настройка
- Получите токен бота у @BotFather
- Узнайте свой Telegram ID через @userinfobot
- Узнайте ID чата дома (перешлите сообщение из чата боту @GetMyChatIdBot)
- Отредактируйте
.env:
BOT_TOKEN=ваш_токен_от_BotFather
ADMIN_CHAT_ID=-1001234567890 # ID чата дома
ADMIN_USER_ID=123456789 # Ваш ID
3. Инициализация БД
python database/init_db.py
4. Запуск
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/:
{
"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 или добавьте через БД:
{
"emergency": [
{"name": "Диспетчер УК", "phone": "+7 (XXX) XXX-XX-XX"}
]
}
🛡 Безопасность
- Персональные данные хранятся только локально
- Доступ к админ-функциям только по
ADMIN_USER_ID - Экспорты JSON в защищённой папке
📝 Логи
Логи сохраняются в logs/bot.log
🔄 Автозапуск (systemd)
Создайте /etc/systemd/system/domovoy-bot.service:
[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
sudo systemctl enable domovoy-bot
sudo systemctl start domovoy-bot
sudo systemctl status domovoy-bot
📞 Поддержка
Вопросы и предложения: @your_contact
Версия: 1.0
Лицензия: MIT