2026-03-09 16:05:44 +07:00
2026-03-09 16:05:44 +07:00
2026-03-09 16:05:44 +07:00
2026-03-09 16:05:44 +07:00
2026-03-09 16:05:44 +07:00
2026-03-09 16:05:44 +07:00
2026-03-09 16:05:44 +07:00
2026-03-09 16:05:44 +07:00
2026-03-09 16:05:44 +07:00

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.
S
Description
No description provided
Readme
156 KiB
Languages
Go 98.7%
Dockerfile 1.3%