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

194 lines
6.9 KiB
Markdown
Raw 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.

# Контекст сессии разработки
**Последнее обновление:** вторник, 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 <ID>` — снять верификацию
- `/phone <ID>` — показать телефон
### 4. Телефоны
- **Команды админа:**
- `/add_phone <ID> <тел>` — добавить
- `/edit_phone <ID> <тел>` — изменить
- `/remove_phone <ID>` — удалить
- `/phone <ID>` — показать
- **Команда пользователя:**
- `/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 <ID>` — рейтинг пользователя
- `/top` — топ-10 по рейтингу
- `/rank` — распределение по уровням
6. ✅ Кнопка "🏆 Рейтинг" в меню админа
7. ✅ Защита: только админ, только в личке
**Документация:** `РЕЙТИНГ.md`
---
## ⏳ В работе (текущая задача)
### Дописывание телефонов админом
**Уже реализовано:**
-`/add_phone <ID> <тел>`
-`/edit_phone <ID> <тел>`
-`/remove_phone <ID>`
-`/phone <ID>`
-`/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 сервера от тестовых конфигов
---
*Этот файл обновляется в конце каждой сессии для сохранения контекста*