About telegram-automation
A skill for automating Telegram bot tasks through Composio’s Telegram toolkit and Rube MCP. It covers messaging, chat management, updates, and bot commands, with connection checks and permission cautions.
Key features
- 01Send text, photos, and documents
- 02Inspect and manage chats
- 03Edit, delete, and forward messages
- 04Retrieve updates and chat history
- 05Set bot commands and answer callbacks
Use cases
- 01Send a formatted message to a Telegram chat
- 02Share a photo or document with a caption
- 03Review chat details or recent bot updates
- 04Update a bot’s command menu
MCP support
Uses Rube MCP to discover current tool schemas and access Composio’s Telegram toolkit. Requires an active Telegram connection and authorized bot.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill telegram-automationAfter installing, type/telegram-automationin Claude Code to confirm it loaded.
Details
From the project READMETelegram Automation via Rube MCP
Automate Telegram operations through Composio's Telegram toolkit via Rube MCP.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Telegram connection via
RUBE_MANAGE_CONNECTIONSwith toolkittelegram - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas - Telegram Bot Token required (created via @BotFather)
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. The MCP endpoint still requires the provider connection and authorization flow returned by the installed Rube service; adding a URL alone does not grant account access.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkittelegram - If connection is not ACTIVE, follow the returned auth link to configure the Telegram bot
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Send Messages
When to use: User wants to send text messages to a Telegram chat
Tool sequence:
TELEGRAM_GET_ME- Verify bot identity and connection [Prerequisite]TELEGRAM_GET_CHAT- Get chat details and verify access [Optional]TELEGRAM_SEND_MESSAGE- Send a text message [Required]
Key parameters:
chat_id: Numeric chat ID or channel username (e.g., '@channelname')text: Message text contentparse_mode: 'HTML' or 'MarkdownV2' for formattingdisable_notification: Send silently without notification soundreply_to_message_id: Message ID to reply to
Pitfalls:
- Bot must be a member of the chat/group to send messages
- MarkdownV2 requires escaping special characters:
_*[]()~>#+-=|{}.! - HTML mode supports limited tags:
<b>,<i>,<code>,<pre>,<a> - Messages have a 4096 character limit; split longer content
2. Send Photos and Documents
When to use: User wants to share images or files in a Telegram chat
Tool sequence:
TELEGRAM_SEND_PHOTO- Send an image [Optional]TELEGRAM_SEND_DOCUMENT- Send a file/document [Optional]
Key parameters:
chat_id: Target chat IDphoto: Photo URL or file_id (for SEND_PHOTO)document: Document URL or file_id (for SEND_DOCUMENT)caption: Optional caption for the media
Pitfalls:
- Photo captions have a 1024 character limit
- Document captions also have a 1024 character limit
- Files up to 50MB can be sent via bot API
- Photos are compressed by Telegram; use SEND_DOCUMENT for uncompressed images
3. Manage Chats
When to use: User wants to get chat information or manage chat settings
Tool sequence:
TELEGRAM_GET_CHAT- Get detailed chat information [Required]TELEGRAM_GET_CHAT_ADMINISTRATORS- List chat admins [Optional]TELEGRAM_GET_CHAT_MEMBERS_COUNT- Get member count [Optional]TELEGRAM_EXPORT_CHAT_INVITE_LINK- Generate invite link [Optional]
Key parameters:
chat_id: Target chat ID or username
Pitfalls:
- Bot must be an administrator to export invite links
- GET_CHAT returns different fields for private chats vs groups vs channels
- Member count may be approximate for very large groups
- Admin list does not include regular members
4. Edit and Delete Messages
When to use: User wants to modify or remove previously sent messages
Tool sequence:
TELEGRAM_EDIT_MESSAGE- Edit a sent message [Optional]TELEGRAM_DELETE_MESSAGE- Delete a message [Optional]
Key parameters:
chat_id: Chat where the message is locatedmessage_id: ID of the message to edit or deletetext: New text content (for edit)
Pitfalls:
- Bots can only edit their own messages
- Messages can only be deleted within 48 hours of sending
- In groups, bots with delete permissions can delete any message
- Edits may show edit metadata; do not promise removal of edit history or copies
5. Forward Messages and Get Updates
When to use: User wants to forward messages or retrieve recent updates
Tool sequence:
TELEGRAM_FORWARD_MESSAGE- Forward a message to another chat [Optional]TELEGRAM_GET_UPDATES- Get recent bot updates/messages [Optional]TELEGRAM_GET_CHAT_HISTORY- Get chat message history [Optional]
Key parameters:
from_chat_id: Source chat for forwardingchat_id: Destination chat for forwardingmessage_id: Message to forwardoffset: Update offset for GET_UPDATESlimit: Number of updates to retrieve
Pitfalls:
- Forwarded messages show the original sender attribution
- GET_UPDATES returns a limited window of recent updates
- Chat history access may be limited by bot permissions and chat type
- Use offset to avoid processing the same update twice
6. Manage Bot Commands
When to use: User wants to set or update bot command menu
Tool sequence:
TELEGRAM_SET_MY_COMMANDS- Set the bot's command list [Required]TELEGRAM_ANSWER_CALLBACK_QUERY- Respond to inline button presses [Optional]
Key parameters:
commands: Array of command objects withcommandanddescriptioncallback_query_id: ID of the callback query to answer
Pitfalls:
- BotCommand.command values omit the leading '/' and use 1–32 lowercase English letters, digits or underscores; the UI displays a slash
- BotCommand descriptions have a 1–256 character limit; verify the current tool schema
- Answer callback queries promptly and handle expiry errors; do not assume a fixed universal lifetime
- Setting commands replaces the entire command list
Common Patterns
Chat ID Resolution
From username:
1. Use '@username' format as chat_id (for public channels/groups)
2. For private chats, numeric chat_id is required
3. Call GET_CHAT with username to retrieve numeric ID
From GET_UPDATES:
1. Call TELEGRAM_GET_UPDATES
2. Extract chat.id from message objects
3. Use numeric chat_id in subsequent calls
Message Formatting
- Use
parse_mode: 'HTML'for<b>bold</b>,<i>italic</i>,<code>code</code> - Use
parse_mode: 'MarkdownV2'for*bold*,_italic_,`code` - Escape special chars in MarkdownV2:
_ * [ ] ( ) ~ > # + - = | { } . ! - Omit parse_mode for plain text without formatting
Known Pitfalls
Bot Permissions:
- Bots must be added to groups/channels to interact
- Admin permissions needed for: deleting messages, exporting invite links, managing members
- Bots cannot initiate conversations; users must start them first
Rate Limits:
- Avoid more than about one message per second in a single chat
- Groups are limited to about 20 messages per minute; free bulk broadcasts are about 30 messages per second overall
- Bulk operations should implement delays between calls
- API returns 429 Too Many Requests when limits are hit
Chat Types:
- Private chat: One-on-one with the bot
- Group: Multi-user chat (bot must be added)
- Supergroup: Enhanced group with admin features
- Channel: Broadcast-only (bot must be admin to post)
Message Limits:
- Text messages: 4096 characters max
- Captions: 1024 characters max
- File uploads: 50MB max via bot API
- Inline keyboard buttons: 8 per row
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Verify bot | TELEGRAM_GET_ME | (none) |
| Send message | TELEGRAM_SEND_MESSAGE | chat_id, text, parse_mode |
| Send photo | TELEGRAM_SEND_PHOTO | chat_id, photo, caption |
| Send document | TELEGRAM_SEND_DOCUMENT | chat_id, document, caption |
| Edit message | TELEGRAM_EDIT_MESSAGE | chat_id, message_id, text |
| Delete message | TELEGRAM_DELETE_MESSAGE | chat_id, message_id |
| Forward message | TELEGRAM_FORWARD_MESSAGE | chat_id, from_chat_id, message_id |
| Get chat info | TELEGRAM_GET_CHAT | chat_id |
| Get chat admins | TELEGRAM_GET_CHAT_ADMINISTRATORS | chat_id |
| Get member count | TELEGRAM_GET_CHAT_MEMBERS_COUNT | chat_id |
| Export invite link | TELEGRAM_EXPORT_CHAT_INVITE_LINK | chat_id |
| Get updates | TELEGRAM_GET_UPDATES | offset, limit |
| Get chat history | TELEGRAM_GET_CHAT_HISTORY | chat_id |
| Set bot commands | TELEGRAM_SET_MY_COMMANDS | commands |
| Answer callback | TELEGRAM_ANSWER_CALLBACK_QUERY | callback_query_id |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Confirm bot identity, exact destination chat IDs and message/media content before sending, forwarding or editing. Reading updates does not authorize invitations, deletion or bot-menu changes. Bot API access is not general chat-history access; use only tools actually returned by discovery. Protect tokens and private forwards, bound polling and reconcile unknown sends before retrying.
These are default rate guidelines, not guaranteed capacity. Honor retry_after; paid broadcasts require separate explicit budget authorization. Exporting a primary invite link can revoke a previous link; confirm that effect first. See Telegram Bots FAQ and discover current Bot API/tool constraints before sending.