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

6.9 KiB
Raw Permalink Blame History

Контекст сессии разработки

Последнее обновление: вторник, 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 Заметки по верификации

🚀 Команды для запуска

cd /home/matrixhasyou/domovoy_bot

# Проверка логов
tail -f logs/bot.log

# Запуск
./run.sh
# или
python main.py

# Остановка
./stop.sh

🔧 Конфигурация

Файл: .env

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 сервера от тестовых конфигов

Этот файл обновляется в конце каждой сессии для сохранения контекста