Telegram
Arcade.dev LLM tools for Telegram
1.0.1Telegram toolkit provides Arcade tools for interacting with Telegram via a bot, enabling LLMs to send messages, retrieve chat data, and deliver AI-generated audio in Telegram chats, groups, and channels.
Capabilities
- Bot identity & chat metadata — Retrieve the bot's own profile and capabilities, and look up metadata (type, title, description, member count) for any chat the bot belongs to.
- Message retrieval — Fetch pending private-chat messages delivered to the bot via Telegram's
getUpdatesAPI; group/channel messages are excluded by design. Offset handling permanently acknowledges earlier updates. - Messaging — Send text messages to any chat, group, or channel where the bot has send permissions.
- Text-to-speech audio — Convert text to an MP3 using OpenAI TTS and deliver it as an audio message to a Telegram chat.
Secrets
This toolkit requires two secrets:
-
TELEGRAM_BOT_TOKEN— The API token that authenticates your Telegram bot. Create a bot and obtain its token by messaging @BotFather on Telegram, using the/newbotcommand (or/tokenfor an existing bot). BotFather returns a token in the format123456789:ABC-.... No special account tier is required. See Telegram Bot API docs for details. -
OPENAI_API_KEY— An OpenAI API key used to call the TTS endpoint forTelegram.SendTtsAudio. Generate one in the OpenAI platform dashboard under API keys. The key needs access to thetts-1ortts-1-hdmodel; ensure your account has an active billing plan, as TTS is not available on the free tier.
Configure secrets in Arcade at https://docs.arcade.dev/en/guides/create-tools/tool-basics/create-tool-secrets or via the dashboard at https://api.arcade.dev/dashboard/auth/secrets.
Available tools(5)
| Tool name | Description | Secrets | |
|---|---|---|---|
Get metadata about a Telegram chat, group, or channel.
Returns information including the chat type, title, description, and member count.
The bot must be a member of the chat to retrieve its information. | 1 | ||
Get recent private-chat messages sent to the bot via Telegram's getUpdates API.
Returns messages from private (1:1) chats only. Group and channel messages are
excluded for security — any group member could inject content into the response.
Only pending (unacknowledged) updates are returned.
The limit parameter controls how many raw Telegram updates are fetched, not how
many messages are returned. After filtering to private-chat messages for the
requested chat_id, the result may contain fewer items. has_more indicates whether
more updates exist on the server, not whether more messages exist for this chat.
Note: This retrieves updates delivered to the bot, not the full history of a chat.
Passing a non-zero offset permanently confirms all earlier updates — they cannot be
retrieved again. Returns newest messages last. | 1 | ||
Send a text message to a Telegram chat, group, or channel.
The bot must be a member of the target chat or have permission to send messages
to the specified channel. | 1 | ||
Convert text to speech using OpenAI TTS and send it as an audio message on Telegram.
Generates an MP3 audio file from the provided text using OpenAI's text-to-speech API,
then sends it to the specified Telegram chat. | 2 | ||
Get information about the Telegram bot.
Returns the bot's identity including its ID, username, and capabilities. | 1 |
Selected tools
No tools selected.
Click "Show all tools" to add tools.
Requirements
Select tools to see requirements
Telegram.GetChatInfo
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Get metadata about a Telegram chat, group, or channel. Returns information including the chat type, title, description, and member count. The bot must be a member of the chat to retrieve its information.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
chat_id | string | Required | The numeric chat ID or group ID. |
Requirements
Output
json— No description provided.Telegram.GetMessages
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Get recent private-chat messages sent to the bot via Telegram's getUpdates API. Returns messages from private (1:1) chats only. Group and channel messages are excluded for security — any group member could inject content into the response. Only pending (unacknowledged) updates are returned. The limit parameter controls how many raw Telegram updates are fetched, not how many messages are returned. After filtering to private-chat messages for the requested chat_id, the result may contain fewer items. has_more indicates whether more updates exist on the server, not whether more messages exist for this chat. Note: This retrieves updates delivered to the bot, not the full history of a chat. Passing a non-zero offset permanently confirms all earlier updates — they cannot be retrieved again. Returns newest messages last.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
chat_id | string | Required | The numeric chat ID to retrieve messages from. Only messages from this chat are returned. Note: pagination offset confirmation always applies across all chats regardless of this filter. |
limit | integer | Optional | Maximum number of updates to fetch from Telegram (1-100). Defaults to 20. The actual number of messages returned may be less because non-message updates and messages from other chats are filtered out. If you receive fewer messages than expected and has_more is true, call again with a higher limit or use next_offset to page forward. |
offset | integer | Optional | Update ID offset for pagination. Use the next_offset value from a previous response to fetch newer updates. WARNING: passing a non-zero offset permanently confirms (removes) all updates with a lower update ID. Defaults to 0 (most recent updates). |
Requirements
Output
json— No description provided.Telegram.SendMessage
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Send a text message to a Telegram chat, group, or channel. The bot must be a member of the target chat or have permission to send messages to the specified channel.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
chat_id | string | Required | The numeric chat ID to send the message to. |
text | string | Required | The text content of the message to send. |
parse_mode | string | Optional | How to format the message text. Defaults to PLAIN.plainMarkdownV2HTML |
disable_notification | boolean | Optional | Send the message silently without a notification sound. Defaults to false. |
Requirements
Output
json— No description provided.Telegram.SendTtsAudio
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Convert text to speech using OpenAI TTS and send it as an audio message on Telegram. Generates an MP3 audio file from the provided text using OpenAI's text-to-speech API, then sends it to the specified Telegram chat.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
chat_id | string | Required | The numeric chat ID to send the audio to. |
text | string | Required | The text to convert to speech and send as an audio message. Maximum 4096 characters (after stripping leading/trailing whitespace). |
voice | string | Optional | The voice to use for text-to-speech. Defaults to ALLOY.alloyashcoralechofableonyxnovasageshimmer |
speed | number | Optional | Playback speed multiplier (0.25-4.0). 1.0 is normal speed, higher is faster. Defaults to 1.0. |
instructions | string | Optional | Optional style or tone instructions for the voice (e.g., 'speak in a cheerful tone'). Leave empty for the default voice style. |
disable_notification | boolean | Optional | Send the audio silently without a notification sound. Defaults to false. |
Requirements
Output
json— No description provided.Telegram.WhoAmI
Execution hints
Signals for MCP clients and agents about how this tool behaves.
Reads data without modifying any state in the target system.
May permanently delete or overwrite data in the target system.
Repeated calls with the same inputs produce no additional effect.
Communicates with external APIs, databases, or other services.
Get information about the Telegram bot. Returns the bot's identity including its ID, username, and capabilities.
Parameters
No parameters required.
Requirements
Output
json— No description provided.