- Create a bot with BotFather.
- Copy the bot token.
- Start with manual pairing. The first DM creates a pending pairing request you approve locally.
Use Telegram as the first remote-control surface for a single Waterbrother terminal. Keep it DM-first, pair explicitly, and let the live TUI stay the source of truth.
waterbrother config set-json channels '{"telegram":{"enabled":true,"botToken":"YOUR_BOT_TOKEN","pairingMode":"manual","allowedUserIds":[]}}'
waterbrother config set-json gateway '{"enabled":true,"controlMode":"single-user","startupChannels":["telegram"]}'
waterbrother channels status
waterbrother gateway status
waterbrother gateway run telegram
After the gateway connects, send your bot any DM. Waterbrother records a pending pairing request locally. Approve it with waterbrother gateway pair telegram <user-id>, then retry the DM. Pending requests expire automatically after 12 hours unless approved.
If Telegram is configured in first-run onboarding with startup enabled, launching the Waterbrother TUI will autostart the Telegram gateway in the background for you.
Telegram replies are rendered as safe HTML with code blocks, typing activity, and an in-progress message that gets edited into the final reply before any chunked follow-up messages are sent.
If the Waterbrother TUI is already open, Telegram prompts are injected into that live session and the work stays visible in the terminal. A paired Telegram user then has the same live session permissions as the terminal operator. If no live TUI host is attached, Telegram falls back to the remote session runner.
Telegram also supports remote workspace commands: /cwd, /use <path>, /desktop, and /new-project <name>. Supported remote commands also include /help, /status, /runtime, /sessions, /resume <id>, /new, and /clear.
Shared projects can now be enabled locally with waterbrother project share. Once shared, Telegram exposes /room, /mode, /claim, and /release for the first room/operator workflow.
The only reduced path is the fallback remote runner, which still uses approval=never when no live TUI host is attached.