# Контекст сессии разработки **Последнее обновление:** вторник, 24 февраля 2026 г. (вечер) **Время:** ~11:00 --- ## 📊 Описание проекта: Домовой Бот Telegram-бот для управления жилым сообществом (дом/ЖК). ### Архитектура - **Фреймворк:** aiogram 3.x (асинхронный) - **База данных:** SQLite + SQLAlchemy (async) - **Прокси:** socks5 (xray) для обхода РКН - **Планировщик:** APScheduler ### Структура проекта ``` domovoy_bot/ ├── config.py # Конфигурация (токен, админы, прокси) ├── main.py # Точка входа ├── requirements.txt # Зависимости ├── .env / .env.example # Переменные окружения │ ├── database/ │ ├── models.py # Модели: User, Message, Service, VerificationRequest, SpyLog, Announcement │ ├── db.py # Асинхронная сессия │ └── init_db.py # Инициализация БД │ ├── handlers/ # Роутеры aiogram │ ├── admin.py # Админ-команды │ ├── users.py # Пользовательские команды │ ├── phones.py # Управление телефонами │ ├── verification.py # Верификация жильцов │ ├── chat_monitor.py # Мониторинг чата │ ├── security.py # Безопасность/анти-мат │ ├── apartments.py # Квартиры │ └── antimat.py # Анти-мат │ ├── services/ │ ├── spy_detector.py # Детект шпионов (score 0-100) │ ├── analytics.py # Аналитика чата │ └── scheduler.py # Планировщик задач │ ├── utils/ │ ├── decorators.py # @admin_only │ ├── formatters.py # Форматирование вывода │ └── validators.py # Валидация телефонов │ └── keyboards/ # Inline/reply клавиатуры ``` --- ## ✅ Реализованный функционал ### 1. Пользователи - Регистрация через `/start` - Верификация по номеру квартиры - Привязка телефона (`/myphone`, `/add_phone`, `/edit_phone`, `/remove_phone`) - Профиль пользователя с квартирой и сообщением ### 2. Детект шпионов (Spy Detector) **Факторы риска:** - Нет аватарки: +10 - Generic username (user12345): +15 - Не верифицирован: +25 - Провокационные сообщения: +30 - Активность в офисные часы: +15 - Мультиаккаунт: +50 **Пороги:** - 0-30: Норма 🟢 - 31-60: Подозрительный 🟡 - 61+: Шпион 🔴 (уведомление админа) ### 3. Админ-панель - `/admin` — главное меню - `/stats` — статистика чата - `/spies` — список шпионов - `/users` — пользователи (50 последних) - `/export` — экспорт в JSON - `/revoke ` — снять верификацию - `/phone ` — показать телефон ### 4. Телефоны - **Команды админа:** - `/add_phone <тел>` — добавить - `/edit_phone <тел>` — изменить - `/remove_phone ` — удалить - `/phone ` — показать - **Команда пользователя:** - `/myphone <тел>` — установить свой телефон ### 5. Планировщик - Еженедельный экспорт (воскресенье 03:00) - Ежедневная проверка шпионов (02:00) - Обновление активности (ежечасно) --- ## ✅ Выполнено в этой сессии ### Система рейтинга пользователей (24.02.2026) **Реализовано:** 1. ✅ Добавлены поля в модель User: `rating` (баллы), `level` (уровень) 2. ✅ Миграция БД выполнена — поля добавлены 3. ✅ Начисление +1 балл за каждое сообщение 4. ✅ Уровни: Новичок (0-99), Сосед (100-499), Активист (500-999), Лидер (1000+) 5. ✅ Админ-команды (только в личку!): - `/rating ` — рейтинг пользователя - `/top` — топ-10 по рейтингу - `/rank` — распределение по уровням 6. ✅ Кнопка "🏆 Рейтинг" в меню админа 7. ✅ Защита: только админ, только в личке **Документация:** `РЕЙТИНГ.md` --- ## ⏳ В работе (текущая задача) ### Дописывание телефонов админом **Уже реализовано:** - ✅ `/add_phone <тел>` - ✅ `/edit_phone <тел>` - ✅ `/remove_phone ` - ✅ `/phone ` - ✅ `/myphone <тел>` (пользователь сам) **Требуется:** - Интеграция с системой рейтинга - Отображение рейтинга в профиле - Команды для управления рейтингом --- ## 📁 Файлы сессии | Файл | Назначение | |------|------------| | `SESSION_CONTEXT.md` | Этот файл — контекст сессии | | `STATUS.md` | Общий статус проекта | | `ГОТОВО.md` | Инструкция по запуску | | `ИСПРАВЛЕНИЯ*.md` | История исправлений | | `ВЕРИФИКАЦИЯ*.md` | Заметки по верификации | --- ## 🚀 Команды для запуска ```bash cd /home/matrixhasyou/domovoy_bot # Проверка логов tail -f logs/bot.log # Запуск ./run.sh # или python main.py # Остановка ./stop.sh ``` --- ## 🔧 Конфигурация **Файл:** `.env` ```ini BOT_TOKEN=xxx:xxx ADMIN_CHAT_ID=-100xxxxxxxxx ADMIN_USER_ID=xxxxxxxxx USE_PROXY=true PROXY_TYPE=socks5 PROXY_HOST=127.0.0.1 PROXY_PORT=10808 ``` --- ## 📝 Заметки сессии - **Дата последней сессии:** 23 февраля 2026 - **Статус:** MVP готово, в работе система рейтинга - **Следующая задача:** Доделать рейтинг + почистить VPN сервера от тестовых конфигов --- *Этот файл обновляется в конце каждой сессии для сохранения контекста*