An optional Telegram or Discord bot connects to the same tasks as the phone. It does not provide desktop, terminal, Library, file-transfer or administration controls. The computer must remain awake, running and able to reach the chat service.
Configure your own bot
Create a dedicated bot with Telegram’s BotFather or a Discord developer application. Do not reuse a token another program is using. At the computer, store the token through the hidden prompt and enable the connector:
ophio channels token set telegram
ophio channels enable telegram
ophio channels status
Replace telegram with discord for Discord. Never put the token in a chat, command argument or repository. Setup’s Telegram and Discord helpers can explain the steps, but you create the bot and enter its token yourself.
For Discord, install with bot and applications.commands scopes and View Channel / Send Messages permissions. Privileged intents are not required. Use slash commands in server channels; ordinary replies work in direct messages. Telegram privacy mode can remain enabled.
Link each sender and choose a project
- Write to the bot to obtain a short link code.
- On the phone, open Settings → Connections and devices → Chat → Link a chat.
- Enter the code and use Check code. Verify the numeric user and chat identities, not just a display name, before approving.
- Use Choose project or Change project on the linked chat to select a registered project. Set that project’s agent, model and effort defaults.
Every sender must link separately, including in groups. Each group or channel needs a project mapping. Discord threads have separate channel IDs and need their own mappings and sender links. A chat without a project cannot start work.
The equivalent mapping command is:
ophio channels map telegram <CHAT-ID> <PROJECT-ID>
Linking a sender does not make a group private. Other members can still read the bot’s messages.
Task commands
| Action | Telegram | Discord |
|---|---|---|
| Start a task using project defaults | /new <request> | /new prompt:… |
| Current tasks and attention | /status | /status |
| List tasks | /tasks | /tasks |
| Continue next turn | Reply to the task’s acknowledgement | Reply in a DM, or /reply task:<UUID> text:… |
| Steer current work | Reply with /steer <text>, or /steer <UUID> <text> | /steer task:<UUID> text:… |
| Stop, with confirmation | Reply with /stop, or /stop <UUID> | /stop task:<UUID> |
| Answer a question | Reply to its notice | Reply in a DM, or /answer message:<message-ID> text:… |
Use the full task UUID where requested. Replies belong to the linked sender and mapped project. If a Telegram topic contains multiple tasks, use an explicit reply or UUID; the connector does not guess. A forwarded message is not an instruction authorizing a bot action.
Received, Accepted by the computer and completed work are different states. If the outcome is unknown, check the app before submitting a fresh command. Native-agent steering support and task permissions still apply.
Choose disclosure carefully
The default minimal exposure sends task references and states. Approval notices direct you to the app rather than offer approval for a hidden effect.
titles can send task titles, a short completion summary and the full request details needed for supported approvals. Use it only if those details may be shared with the platform and group members. Unknown, supervised computer-use or oversized approvals still require the app. The connector does not offer a working Allow button for a truncated request.
ophio channels exposure telegram minimal
Neither mode mirrors full conversations, streamed agent text, desktop pictures, terminal output, Library files or attachments. Chat commands, responses and stored platform copies are still disclosures to Telegram or Discord.
Disconnect and recover
Revoke the linked identity to end that sender’s task access. This does not revoke paired phones or erase existing chat messages. To stop the connector:
ophio channels disable telegram
ophio channels token clear telegram
A Telegram webhook or token conflict stops the connector; Ophio does not delete someone else’s webhook. Use a dedicated bot and resolve ownership before restarting. Discord cannot reliably detect another program using the same token. Platform outages and restarts can delay or miss messages, and a notice can be duplicated without repeating its task effect. Check the app’s task record before retrying work.