名称: telegram-automation 描述: “通过Rube MCP(Composio)自动化Telegram任务:发送消息、管理聊天、分享照片/文档和处理机器人命令。始终首先搜索工具以获取当前模式。” 要求: mcp: [rube] 类别: 通信
通过Rube MCP的Telegram自动化
通过Composio的Telegram工具包和Rube MCP自动化Telegram操作。
工具包文档: composio.dev/toolkits/telegram
先决条件
- Rube MCP必须已连接(RUBE_SEARCH_TOOLS可用)
- 通过
RUBE_MANAGE_CONNECTIONS使用工具包telegram建立活跃的Telegram连接 - 始终先调用
RUBE_SEARCH_TOOLS以获取当前工具模式 - 需要Telegram机器人令牌(通过@BotFather创建)
设置
获取Rube MCP: 在客户端配置中将https://rube.app/mcp添加为MCP服务器。无需API密钥——只需添加端点即可工作。
- 通过确认
RUBE_SEARCH_TOOLS响应来验证Rube MCP可用 - 使用工具包
telegram调用RUBE_MANAGE_CONNECTIONS - 如果连接不是活跃状态,请按照返回的认证链接配置Telegram机器人
- 在运行任何工作流之前,确认连接状态显示为活跃
核心工作流
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个字符
- 通过机器人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返回有限窗口的最近更新
- 聊天历史访问可能受机器人权限和聊天类型限制
- 使用偏移以避免重复处理相同更新
6. 管理机器人命令
使用时机: 用户想要设置或更新机器人命令菜单
工具序列:
TELEGRAM_SET_MY_COMMANDS- 设置机器人命令列表 [必需]TELEGRAM_ANSWER_CALLBACK_QUERY- 响应内联按钮按下 [可选]
关键参数:
commands: 命令对象数组,包含command和descriptioncallback_query_id: 要回答的回调查询ID
常见问题:
- 命令必须以’/'开头,并为小写
- 命令描述最多256个字符
- 回调查询必须在10秒内回答,否则过期
- 设置命令会替换整个命令列表
常见模式
聊天ID解析
从用户名:
1. 使用'@用户名'格式作为chat_id(用于公共频道/群组)
2. 对于私聊,需要数字chat_id
3. 使用用户名调用GET_CHAT以获取数字ID
从GET_UPDATES:
1. 调用TELEGRAM_GET_UPDATES
2. 从消息对象中提取chat.id
3. 在后续调用中使用数字chat_id
消息格式化
- 使用
parse_mode: 'HTML'表示<b>粗体</b>,<i>斜体</i>,<code>代码</code> - 使用
parse_mode: 'MarkdownV2'表示*粗体*,_斜体_,`代码` - 在MarkdownV2中转义特殊字符:
_ * [ ] ( ) ~ > # + - = | { } . ! - 省略parse_mode用于无格式化的纯文本
已知问题
机器人权限:
- 机器人必须添加到群组/频道才能交互
- 需要管理员权限用于:删除消息、导出邀请链接、管理成员
- 机器人无法发起对话;用户必须先启动
速率限制:
- 每秒30条消息到同一群组
- 每分钟20条消息到同一用户在群组中
- 批量操作应在调用之间实现延迟
- API在达到限制时返回429 Too Many Requests
聊天类型:
- 私聊:与机器人的一对一聊天
- 群组:多用户聊天(机器人必须被添加)
- 超级群组:增强型群组,具有管理员功能
- 频道:仅广播(机器人必须是管理员才能发布)
消息限制:
- 文本消息:最多4096个字符
- 标题:最多1024个字符
- 文件上传:通过机器人API最多50MB
- 内联键盘按钮:每行最多8个
快速参考
| 任务 | 工具Slug | 关键参数 |
|---|---|---|
| 验证机器人 | 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 |
由Composio提供支持