通过 Rube MCP 实现 Telegram 自动化
通过 Rube MCP 调用 Composio 的 Telegram 工具包,自动化 Telegram 操作。
前置条件
- Rube MCP 已连接(RUBE_SEARCH_TOOLS 可用)
- 通过
RUBE_MANAGE_CONNECTIONS使用telegram工具包建立活跃的 Telegram 连接 - 始终先调用
RUBE_SEARCH_TOOLS获取当前工具 schema - 需要 Telegram Bot Token(通过 @BotFather 创建)
配置
获取 Rube MCP:在客户端配置中添加 https://rube.app/mcp 作为 MCP 服务器。无需 API 密钥 — 只需添加端点即可使用。
- 确认
RUBE_SEARCH_TOOLS响应以验证 Rube MCP 可用 - 调用
RUBE_MANAGE_CONNECTIONS,工具包选择telegram - 如果连接状态不是 ACTIVE,按返回的授权链接配置 Telegram 机器人
- 运行任何工作流前确认连接状态显示 ACTIVE
核心工作流
1. 发送消息
适用场景:用户想向 Telegram 聊天发送文本消息
工具调用顺序:
TELEGRAM_GET_ME- 验证机器人身份和连接 [前置条件]TELEGRAM_GET_CHAT- 获取聊天详情并验证访问权限 [可选]TELEGRAM_SEND_MESSAGE- 发送文本消息 [必需]
关键参数:
chat_id:数字聊天 ID 或频道用户名(如 '@channelname')text:消息文本内容parse_mode:'HTML' 或 'MarkdownV2' 用于格式化disable_notification:静默发送,不发出通知声音reply_to_message_id:要回复的消息 ID
注意事项:
- 机器人必须是聊天/群组成员才能发送消息
- MarkdownV2 需要转义特殊字符:
_*[]()~>#+-=|{}.! - HTML 模式支持有限的标签:
<b>、<i>、<code>、<pre>、<a> - 消息有 4096 字符限制;较长内容需分段发送
2. 发送图片和文档
适用场景:用户想在 Telegram 聊天中分享图片或文件
工具调用顺序:
TELEGRAM_SEND_PHOTO- 发送图片 [可选]TELEGRAM_SEND_DOCUMENT- 发送文件/文档 [可选]
关键参数:
chat_id:目标聊天 IDphoto:图片 URL 或 file_id(用于 SEND_PHOTO)document:文档 URL 或 file_id(用于 SEND_DOCUMENT)caption:媒体的可选说明文字
注意事项:
- 图片说明有 1024 字符限制
- 文档说明同样有 1024 字符限制
- 通过 Bot API 可发送最大 50MB 的文件
- Telegram 会压缩图片;如需未压缩图片请使用 SEND_DOCUMENT
3. 管理聊天
适用场景:用户想获取聊天信息或管理聊天设置
工具调用顺序:
TELEGRAM_GET_CHAT- 获取详细聊天信息 [必需]TELEGRAM_GET_CHAT_ADMINISTRATORS- 列出聊天管理员 [可选]TELEGRAM_GET_CHAT_MEMBERS_COUNT- 获取成员数量 [可选]TELEGRAM_EXPORT_CHAT_INVITE_LINK- 生成邀请链接 [可选]
关键参数:
chat_id:目标聊天 ID 或用户名
注意事项:
- 机器人必须是管理员才能导出邀请链接
- GET_CHAT 对私聊、群组和频道返回不同字段
- 超大群组的成员数可能为近似值
- 管理员列表不包含普通成员
4. 编辑和删除消息
适用场景:用户想修改或删除之前发送的消息
工具调用顺序:
TELEGRAM_EDIT_MESSAGE- 编辑已发送的消息 [可选]TELEGRAM_DELETE_MESSAGE- 删除消息 [可选]
关键参数:
chat_id:消息所在的聊天message_id:要编辑或删除的消息 IDtext:新的文本内容(用于编辑)
注意事项:
- 机器人只能编辑自己发送的消息
- 消息只能在发送后 48 小时内删除
- 在群组中,具有删除权限的机器人可以删除任何消息
- 编辑消息会移除其"已编辑"时间戳历史
5. 转发消息和获取更新
适用场景:用户想转发消息或获取最近的更新
工具调用顺序:
TELEGRAM_FORWARD_MESSAGE- 将消息转发到另一个聊天 [可选]TELEGRAM_GET_UPDATES- 获取最近的机器人更新/消息 [可选]TELEGRAM_GET_CHAT_HISTORY- 获取聊天消息历史 [可选]
关键参数:
from_chat_id:转发的源聊天chat_id:转发的目标聊天message_id:要转发的消息offset:GET_UPDATES 的更新偏移量limit:要获取的更新数量
注意事项:
- 转发的消息会显示原始发送者归属
- GET_UPDATES 返回最近更新的有限窗口
- 聊天历史访问可能受机器人权限和聊天类型限制
- 使用 offset 避免重复处理同一更新
6. 管理机器人命令
适用场景:用户想设置或更新机器人命令菜单
工具调用顺序:
TELEGRAM_SET_MY_COMMANDS- 设置机器人的命令列表 [必需]TELEGRAM_ANSWER_CALLBACK_QUERY- 响应内联按钮点击 [可选]
关键参数:
commands:包含command和description的命令对象数组callback_query_id:要响应的回调查询 ID
注意事项:
- 命令必须以 '/' 开头且为小写
- 命令描述有 256 字符限制
- 回调查询必须在 10 秒内响应,否则会过期
- 设置命令会替换整个命令列表
常用模式
Chat ID 解析
从用户名获取:
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
从 GET_UPDATES 获取:
1. Call TELEGRAM_GET_UPDATES
2. Extract chat.id from message objects
3. Use numeric chat_id in subsequent calls
消息格式化
- 使用
parse_mode: 'HTML'实现<b>bold</b>、<i>italic</i>、<code>code</code> - 使用
parse_mode: 'MarkdownV2'实现*bold*、_italic_、`code` - MarkdownV2 中转义特殊字符:
_ * [ ] ( ) ~ > # + - = | { } . ! - 省略 parse_mode 以发送纯文本(无格式)
已知注意事项
机器人权限:
- 机器人必须被添加到群组/频道才能交互
- 以下操作需要管理员权限:删除消息、导出邀请链接、管理成员
- 机器人不能主动发起对话;用户必须先启动对话
速率限制:
- 同一群组每秒最多 30 条消息
- 群组中同一用户每分钟最多 20 条消息
- 批量操作应在调用之间添加延迟
- 超出限制时 API 返回 429 Too Many Requests
聊天类型:
- 私聊:与机器人一对一聊天
- 群组:多用户聊天(需添加机器人)
- 超级群组:具有管理员功能的增强群组
- 频道:仅广播(机器人必须是管理员才能发布)
消息限制:
- 文本消息:最多 4096 字符
- 说明文字:最多 1024 字符
- 文件上传:通过 Bot API 最大 50MB
- 内联键盘按钮:每行最多 8 个
快速参考
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 验证机器人 | TELEGRAM_GET_ME | (无) |
| 发送消息 | TELEGRAM_SEND_MESSAGE | chat_id, text, parse_mode |
| 发送图片 | TELEGRAM_SEND_PHOTO | chat_id, photo, caption |
| 发送文档 | TELEGRAM_SEND_DOCUMENT | chat_id, document, caption |
| 编辑消息 | TELEGRAM_EDIT_MESSAGE | chat_id, message_id, text |
| 删除消息 | TELEGRAM_DELETE_MESSAGE | chat_id, message_id |
| 转发消息 | TELEGRAM_FORWARD_MESSAGE | chat_id, from_chat_id, message_id |
| 获取聊天信息 | TELEGRAM_GET_CHAT | chat_id |
| 获取聊天管理员 | TELEGRAM_GET_CHAT_ADMINISTRATORS | chat_id |
| 获取成员数量 | TELEGRAM_GET_CHAT_MEMBERS_COUNT | chat_id |
| 导出邀请链接 | TELEGRAM_EXPORT_CHAT_INVITE_LINK | chat_id |
| 获取更新 | TELEGRAM_GET_UPDATES | offset, limit |
| 获取聊天历史 | TELEGRAM_GET_CHAT_HISTORY | chat_id |
| 设置机器人命令 | TELEGRAM_SET_MY_COMMANDS | commands |
| 响应回调 | TELEGRAM_ANSWER_CALLBACK_QUERY | callback_query_id |
适用场景
本技能适用于执行概述中描述的工作流或操作。
限制
- 仅在任务明确匹配上述范围时使用本技能。
- 不要将输出视为环境特定验证、测试或专家审查的替代品。
- 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清。