{"repo":"skrashevich/botmux","free":true,"listed":false,"github":"https://github.com/skrashevich/botmux","clone":"git clone https://github.com/skrashevich/botmux.git","description":"Web-based command center for managing Telegram bots — multi-bot dashboard, reverse proxy, inter-bot routing, protocol bridges, and LLM-powered smart routing","language":"Go","stars":22,"topics":["bot","botapi","longpolling","telegram","webhook","webupdates","admin-panel","bot-management","dashboard","docker"],"license":"Apache-2.0","category":"dashboards-admin","readme_excerpt":"Documentation — full setup guide, API reference, and architecture overview. Web-based command center for managing Telegram groups and channels via Bot API, with built-in reverse proxy for legacy webhook bots. Give it a bot token — it discovers which chats the bot is in, whether it has admin privileges, and provides a full-featured web dashboard for monitoring, analytics, and administration. Manage multiple bots from a single instance. Screenshots Login Dashboard ------- ----------- Bot Detail Messages ------------ ---------- Analytics Admins ----------- -------- Users Tags ------- ------ Audit Log Add Bot ----------- --------- User Management API Keys ----------------- ---------- Features How It Works Important: BotMux takes over long polling for every bot it manages. Only one client can poll a bot token at a time (Telegram limitation), so: - If your bot currently polls ( getUpdates ) — you have two options: 1. Long Polling mode (recommended, zero code changes) — enable \"Long Poll\" in bot settings, then point your backend's API base URL to BotMux ( http://botmux:8080/tgapi/ ). Your bot keeps calling getUpdates as before, but now gets updates from BotMux instead of Telegram. 2. Push mode — switch the backend to accept webhook-style HTTP POST requests. BotMux will poll Telegram and forward updates to your backend URL. - If your bot already uses webhooks — BotMux will switch it to polling and proxy updates back to the webhook endpoint. No changes needed on the backend side. This","default_branch":null,"files":null,"tree":[],"storefront":"/r/skrashevich","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/skrashevich/botmux/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}