Skip to main content
BotMux is a monolithic Go application compiled into a single binary with an embedded SPA.

Source Files

FileDescription
main.goEntry point, flag parsing, bot registration
bot.goTelegram Bot API wrapper
proxy.goProxyManager: polling, forwarding, health checks
server.goHTTP server, REST API endpoints
store.goSQLite storage layer
bridge.goBridgeManager for multi-protocol bridges
slack.goNative Slack protocol bridge
auth.goAuthentication and authorization
llm.goLLM-based message routing
demo.goDemo mode data seeding
templates/index.htmlSPA (vanilla JS, embedded at compile time)

Dependencies

PackagePurpose
github.com/OvyFlash/telegram-bot-apiTelegram Bot API client
modernc.org/sqlitePure Go SQLite driver (no CGO)
github.com/skrashevich/go-webpWebP→PNG sticker conversion
golang.org/x/crypto/bcryptPassword hashing

Key Design Decisions

  • No CLI vs web bot distinction — all bots are functionally identical
  • Single binary — web UI embedded via go:embed
  • No CGO — pure Go dependencies for easy cross-compilation
  • SQLite with WAL mode — simple, reliable storage