c5f5a562c6d5f65d68e3b79a4a510f562818b461
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)
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,<branch-or-tag>,sha-<12-symbols>.
Нужно создать secret в Gitea репозитории:
ACTIONS_PAT- токен с правами на push в package/container registry.
Languages
Go
98.7%
Dockerfile
1.3%