@mulmobridge/telegram
v0.1.3
Published
Telegram bridge for MulmoBridge — connect a Telegram bot to MulmoClaude
Readme
@mulmobridge/telegram
Telegram bot bridge for MulmoBridge. Connect a Telegram bot to MulmoClaude.
Usage
- Create a bot via @BotFather
- Start the MulmoClaude server (
yarn devin the main repo) - Run the Telegram bridge:
# npx (no install needed)
TELEGRAM_BOT_TOKEN=your-token TELEGRAM_ALLOWED_CHAT_IDS=123,456 \
npx @mulmobridge/telegram@latest
# or install globally
npm install -g @mulmobridge/telegram
TELEGRAM_BOT_TOKEN=your-token TELEGRAM_ALLOWED_CHAT_IDS=123,456 \
mulmobridge-telegram
# or from the monorepo
yarn telegramEnvironment Variables
| Variable | Required | Description | Default |
|---|---|---|---|
| TELEGRAM_BOT_TOKEN | Yes | BotFather token | - |
| TELEGRAM_ALLOWED_CHAT_IDS | Yes | Comma-separated integer chat IDs | empty (deny all) |
| MULMOCLAUDE_API_URL | No | Server URL | http://localhost:3001 |
| MULMOCLAUDE_AUTH_TOKEN | No | Bearer token override | reads from file |
| TELEGRAM_POLL_TIMEOUT_SEC | No | Long-poll timeout | 25 |
Security
The bridge enforces a chat-ID allowlist. Only messages from listed chat IDs are forwarded to MulmoClaude. All other messages receive a one-time "Access denied" reply.
Features
- Long-polling (no webhook setup needed)
- Photo attachment support (downloads and forwards to Claude vision)
- Long-message chunking (splits replies > 4096 chars)
- Server push delivery (Phase B of #268)
- Graceful shutdown on SIGINT
Ecosystem
Part of the @mulmobridge/* package family.
Shared libraries:
@mulmobridge/client— socket.io client library used by every bridge below@mulmobridge/protocol— wire types and constants@mulmobridge/chat-service— server-side relay + session store@mulmobridge/relay— Cloudflare Workers webhook proxy@mulmobridge/mock-server— mock server for local bridge development
Bridges (one npm package per platform):
@mulmobridge/bluesky— Bluesky DMs over atproto@mulmobridge/chatwork— Chatwork (Japanese business chat)@mulmobridge/cli— interactive terminal bridge@mulmobridge/discord— Discord bot via Gateway@mulmobridge/email— IMAP poll + SMTP reply, threading preserved@mulmobridge/google-chat— Google Chat via MulmoBridge relay@mulmobridge/irc— IRC (Libera, Freenode, custom)@mulmobridge/line— LINE Messaging API via MulmoBridge relay@mulmobridge/line-works— LINE Works (enterprise LINE)@mulmobridge/mastodon— Mastodon DMs + mentions@mulmobridge/matrix— Matrix / Element@mulmobridge/mattermost— Mattermost@mulmobridge/messenger— Facebook Messenger via MulmoBridge relay@mulmobridge/nostr— Nostr NIP-04 encrypted DMs@mulmobridge/rocketchat— Rocket.Chat@mulmobridge/signal— Signal via signal-cli-rest-api@mulmobridge/slack— Slack Socket Mode@mulmobridge/teams— Microsoft Teams via Bot Framework@mulmobridge/telegram— Telegram bot ← this package@mulmobridge/twilio-sms— SMS via Twilio Programmable Messaging@mulmobridge/viber— Viber Public Account bots@mulmobridge/webhook— generic HTTP webhook bridge@mulmobridge/whatsapp— WhatsApp Cloud API via MulmoBridge relay@mulmobridge/xmpp— XMPP / Jabber@mulmobridge/zulip— Zulip
License
MIT
