| name | telegram-bridge |
| description | Bidirectional Telegram bot bridge for Ouroboros with configurable command modes, inline keyboard control panel, file/document delivery, and optional silent (edit-in-place) mirror. |
| version | 2.6.0 |
| type | extension |
| entry | plugin.py |
| runtime | python3 |
| permissions | ["net","read_settings","widget","route","supervised_task","subscribe_event","inject_chat"] |
| env_from_settings | ["TELEGRAM_BOT_TOKEN","OPENAI_API_KEY"] |
| subscribe_events | ["chat.outbound","chat.typing","chat.photo","chat.video","chat.document"] |
| when_to_use | User wants to communicate with Ouroboros through Telegram. |
| timeout_sec | 60 |
Telegram Bridge
Bidirectional Telegram bridge for Ouroboros. Polls Telegram for inbound
text/photos and mirrors host chat output back to Telegram.
Command Modes
Three configurable security modes control which slash commands are accepted
from Telegram (configure in Settings → Telegram Bridge):
| Mode | Allowed commands | Blocked |
|---|
| strict | None — all slash commands blocked | Everything with / |
| safe_commands | /status, /bg, /bg status | Mutating commands |
| full_access (default) | Raw owner commands including /panic, /restart, /review, /evolve, /bg | Unknown commands only |
Important: In full_access, this reviewed transport is a first-class owner
chat surface. Slash commands are forwarded as raw chat text through the Host
Service after the skill passes review, grants, enablement, token, rate-limit,
and chat/user binding checks. In full_access the bot's / command menu also
lists the owner-control commands (/evolve, /bg, /review, /restart,
/panic) so they are discoverable and tappable.
Control panel (/menu → Settings, full_access): pick the main model and the
budget via inline buttons. Budget offers +$50/+$100/+$500 increments and a
Custom amount button — tap it and type any $ amount in chat. Both model and
budget changes are injected as owner requests (the agent applies them through
the guarded settings flow); the skill never writes the core settings.json.
Subagent Activity
Ouroboros emits a progress event for every subagent state change (a parallel
swarm can fan out dozens). Instead of flooding Telegram with one bubble per
event, the bridge gives each subagent a single message that is edited in
place across its lifecycle (🔵 queued → 🟡 running → ✅ done · $cost). Each
card shows a status header — the live commentary
you see in the Ouroboros web UI (e.g. "I will read lines 710–765 of llm.py…") —
so the bubble updates as the subagent works rather than posting a new line per
note. (An identical-text edit that Telegram rejects with "message is not
modified" is treated as a no-op, never as a reason to post a duplicate.) The
"Ouroboros is typing…" indicator covers the overall working signal, and your
real replies stay clean, separate messages.