# telemt-bot Лёгкий Telegram-бот для админ-доступа к Telemt Control API. ## Что умеет - `/health` -> `GET /v1/health` - `/summary` -> `GET /v1/stats/summary` - `/users` -> `GET /v1/stats/users` (первые 20 строк) Команды обрабатываются только от одного админ-чата (`TELEGRAM_ADMIN_CHAT_ID`). ## Переменные окружения - `TELEGRAM_BOT_TOKEN` - токен Telegram-бота. - `TELEGRAM_ADMIN_CHAT_ID` - chat id администратора, которому разрешены команды. - `TELEMT_API_BASE_URL` - базовый URL API, например `http://host.docker.internal:9091`. - `TELEMT_API_AUTH_HEADER` - значение заголовка `Authorization` для Telemt API (если включён `auth_header`). - `TELEGRAM_HTTP_TIMEOUT_SECONDS` - timeout запросов к Telegram (по умолчанию `60`). - `TELEMT_HTTP_TIMEOUT_SECONDS` - timeout запросов к Telemt API (по умолчанию `5`). ## Быстрый старт (PowerShell) ```powershell Copy-Item .env.example .env # отредактируй .env docker compose up --build -d docker compose logs -f ``` ## Почему решение экономное по ресурсам - Go-бинарник без рантайма и с нулевым CGO. - Long polling (`getUpdates`) вместо частых коротких запросов. - Один переиспользуемый `http.Client` и keep-alive соединения. - Multi-stage сборка и минимальный образ `distroless`. ## CI/CD для Gitea Registry Добавлен workflow: `.gitea/workflows/docker-publish.yml`. Что делает: - при `push` в `main`, `master`, `v*` и при `git tag v*`; - собирает образ из `Dockerfile`; - пушит в registry `git.shts.su/${REPO}`; - выставляет теги: `latest`, ``, `sha-<12-symbols>`. Нужно создать secret в Gitea репозитории: - `ACTIONS_PAT` - токен с правами на push в package/container registry.