# CodeReview Bot (MVP) Реализовано в текущем MVP: - Регистрация в Telegram: `/register ` - Период недоступности: `/away ` - Webhook Gitea по PR: - при создании PR без ревьюера бот назначает доступного участника с минимальной нагрузкой - ставит метку `auto-assigned` (best effort) - отправляет уведомление назначенному ревьюеру в личные сообщения Telegram - Ежедневное напоминание в общее время `REMINDER_TIME` (по умолчанию `09:00`) - Техническая проверка сервиса: `GET /health` ## Запуск ```bash python -m venv .venv . .venv/Scripts/activate pip install -r requirements.txt uvicorn main:app --host 0.0.0.0 --port 8080 --reload ``` ## Переменные окружения - `TELEGRAM_BOT_TOKEN` - обязательно - `GITEA_BASE_URL` - обязательно для назначения ревьюера, например `https://git.example.com` - `GITEA_TOKEN` - обязательно для назначения/меток - `GITEA_WEBHOOK_SECRET` - необязательно, но рекомендуется - `REMINDER_TIME` - необязательно, по умолчанию `09:00` - `AUTO_ASSIGNED_LABEL` - необязательно, по умолчанию `auto-assigned` - `ALLOW_SELF_ASSIGN` - необязательно, по умолчанию `false` (для локального теста можно `true`) - `BOT_DB_PATH` - необязательно, по умолчанию `botreviewer.sqlite3` ## Webhook-эндпоинты - Обновления Telegram: `POST /telegram/webhook` - Webhook Gitea: `POST /gitea/webhook` Для Telegram укажите URL вашего сервиса с путем `/telegram/webhook`. Для Gitea включите события `pull_request` и задайте общий секрет.