Releases: kolomiichenko/telegym
Release list
v0.1.0 Telegram Bot API v10.0
First public release. End-to-end load-testing kit for Telegram bots: a
fast HTTP mock of the Bot API, a real-Telegram relay for in-the-loop
debugging, and a k6 extension to drive virtual users at scale.
Components
-
telegym-mock- drop-in HTTP server speaking the Telegram Bot API.
15 explicit handlers for methods with real side effects (sendMessage,
editMessageText, setWebhook, getMe, file uploads, callback queries, ...)
and a spec-driven dispatcher backed by the embedded
PaulSonOfLars/telegram-bot-api-spec covering the remaining 161 methods
with shape-valid responses. HTMX debug-chat UI for browser-only
manual testing. Prometheus/metricsfor RPS, latency, dispatch lag. -
telegym-proxy- relay between real Telegram and the mock. Run
it with a throwaway bot from @BotFather and chat with your bot-under-
test from a real Telegram client. Native stickers, formatting,
inline buttons, attachments. -
xk6-telegym- k6 extension exposing atgJS API:
tg.newUser,user.send,user.click,user.awaitText,
user.awaitButton. Two-phase scenarios (register-then-replay)
supported viatg.appendUser+ theparsePoolhelper. -
Observability - Prometheus + Grafana docker-compose stack with a
pre-provisionedtelegymdashboard correlating k6 load with mock
latency on the same timeline.
Quickstart
git clone https://github.com/kolomiichenko/telegym.git
cd telegym
make build build-examples
./examples/echobot/run.shSee README for architecture, the full Scenario API, real-user modes, and metrics setup.
Compatibility
- Go 1.26+ required (see go.mod)
- Bot API 10.0 spec embedded (May 2026)
- Tested on linux/amd64, linux/arm64, darwin/amd64, darwin/arm64,
windows/amd64
What's next
- editMessageMedia parity with editMessageText in the proxy
- HTMX SSE for the debug chat (currently 1s polling)
- Sticker file_id round-trip in telegym-proxy
- k6 cloud distributed mode