Telegram
Connect Elowen to Telegram with a bot. The plugin uses long polling, so you do not need to expose a public webhook. For shared identity and access rules, see Channels.
Create and connect the bot
- In Telegram, open @BotFather, send
/newbot, and copy the token. - If the bot should receive every group message, open BotFather → Bot Settings → Group Privacy and disable group privacy. Otherwise, Telegram limits which group messages the bot receives.
- In Elowen, open Settings → Plugins → Available and install Telegram, then enter the token in Settings → Access → Telegram → Bot token.
- Add a role policy and enable the plugin. The bot connects and publishes its command menu when it starts.
Choose who can use the bot
Open Settings → Plugins → Telegram → Role policies. Add a numeric Telegram user ID, an @username, or a chat ID in Role ID to admit a person or everyone in a group. Group IDs can be negative, for example -1001234567890. The first matching policy applies; unmatched senders are ignored. Put a * catch-all after specific policies.
A sender must also link their Telegram identity to an Elowen account. The linked account supplies their project and tool permissions; a matching Telegram policy does not grant those by itself. Turn on Administrator access for a policy to allow shared controls such as /model, /reasoning, /context, and /display, and operator commands such as /stop, /stats, /compact, and /restart.
Limit replies and send notifications
In Settings → Plugins → Telegram:
- Respond without mention is on by default. In groups, turn it off to require an @mention or a reply to the bot. Direct chats still receive replies.
- Allowed chats is an additional list of numeric user or chat IDs. Leave it empty to rely on role policies alone.
- Notification chat ID sets where proactive messages are sent. Use a numeric user, group, or channel ID, or a public
@channelusername. Leave it empty to disable proactive messages.
Commands and presentation
Telegram shows available commands in its menu and uses inline keyboards for choices. The menu includes /new, /stop, /stats, /compact, /fast, /project, /display, and /help, plus the picker and mode commands /model, /reasoning, /context, /plan, /build, and /workflow; plugins may add more. Commands that need an admin reply with a refusal for everyone else. /restart works for admins but is not shown in the menu.
The shared /model, /reasoning, /context, and /display controls require an administrator policy.
Model, conversation and project choices work only on the latest chooser message in that chat. Opening another chooser replaces the previous one; older buttons do not change the conversation or close the newer chooser. If a chooser has expired, open the command again.
Set presentation defaults in Settings → Plugins → Telegram, or use /display in a chat where you have permission:
- Tool activity: Off, Live status, or Live output.
- Answer delivery: Final answer only, or Show the answer as it is written.
- Tool output detail: Status only, Short summary, or Rolling output tail.
- Tool message layout: One live message, or One message for each tool.
Processing reactions and the Runtime footer (the model-and-context line under the answer) are on by default. Processing reactions show the bot's status on your message: 👀 when it has seen the message, 👍 when it is done, and 👎 when it failed. Show reasoning is off by default and requires a model that supports extended thinking. Service language controls the bot's own messages and supports English, Čeština (Czech), and Slovenčina (Slovak).
Questions, images, files, and voice
Questions appear as inline buttons. A click answers a single-choice question; multi-select or multi-question prompts need Submit. Where the question allows a custom answer, choose Other and send a text reply. Only the addressed sender or an admin can answer. Question answers remain available until Elowen accepts them or resolves the waiting question. Interactive command menus, such as /model, expire after six minutes by default; configure their menu timeout from 30 seconds to 30 minutes in plugin settings. This setting does not set another question deadline.
A vision-capable model is needed to understand images. The optional Vision model chooses one; if empty, Elowen uses the chat's usual model. Defaults are 5 MiB per image (Max inbound image size) and four images per message (Max images per message). Up to four images shared with ShareImage can be attached to one reply (Max images per reply). Up to four shared files can also be sent in a reply. Telegram splits long messages to fit its limits. Audio transcription is separate and supports clips up to 25 MiB.
Voice notes use core Voice mode, configured in Settings → Voice mode. For a linked account with the voice grant, Elowen transcribes the note and answers with text and an OGG/Opus voice note. Voice mode must be enabled and the account must have room under its spend limit. If transcription is refused or fails, Elowen keeps an attachment note such as [Attachment: voice.ogg (audio/ogg)] in place of the transcript, and the text answer still goes out.
The Telegram plugin includes tools for sending messages and managing chats, members, messages, and topics. These tools use the linked account's permissions and still need the bot's relevant Telegram rights. A separate TelegramApi tool calls raw Telegram Bot API methods without an extra confirmation step, so use it only when the dedicated tools are not enough.