# Telegram AI bot — запуск и сдача

## Запуск

Сервис запускается из `/workspace` через platform service `bot`:

```bash
cd /workspace
set -a && [ -f .env ] && . ./.env || true && set +a
python -m pip install -r requirements.txt
python bot.py
```

В production-процессе используется `code-exec.start_service` с тем же command. Бот работает через long polling aiogram 3.x. HTTP health endpoint пытается подняться на `HEALTH_HOST:HEALTH_PORT` (по умолчанию `0.0.0.0:8080`); если порт занят preview-sidecar'ом общего pod, бот не падает и продолжает polling.

## Обязательные env-переменные

- `BOT_TOKEN` — токен Telegram-бота.
- `DESIGNAPI_API_KEY` — ключ DesignAPI / OpenAI-compatible API.

## Опциональные env-переменные

- `DESIGNAPI_BASE_URL` — default `https://api.designapi.ink`.
- `DESIGNAPI_MODEL` — default `gpt-5.5`.
- `LLM_MAX_TOKENS` — default `600`, диапазон `64..4096`.
- `DB_PATH` — default `/workspace/.services/bot/data.db`.
- `HEALTH_HOST` — default `0.0.0.0`.
- `HEALTH_PORT` — default `8080`.

## Реализованные функции

- `/start`, `/help`, `/ping`, `/config`.
- LLM-диалог на русском языке с сохранением краткой истории в SQLite.
- `/summary` — саммари последнего разговора.
- `/reset` — очистка истории текущего пользователя.
- `/image <описание>` — генерация квадратного изображения через DesignAPI.

## Исправленный дефект

- Старт сервиса больше не падает при `OSError: [Errno 98] ... 0.0.0.0:8080 address already in use`; конфликт health-порта логируется как warning, polling Telegram-бота продолжается.
