关于 telegram-automation
通过 Rube MCP 调用 Composio 的 Telegram 工具包,自动执行 Telegram 机器人任务。涵盖消息、聊天管理、更新和机器人命令,并强调连接检查与权限限制。
主要功能
- 01发送文本、照片和文件
- 02查看和管理聊天
- 03编辑、删除和转发消息
- 04获取更新和聊天记录
- 05设置机器人命令并响应回调
适用场景
- 01向 Telegram 聊天发送格式化消息
- 02附说明分享照片或文件
- 03查看聊天详情或近期机器人更新
- 04更新机器人的命令菜单
MCP 相关
通过 Rube MCP 获取最新工具架构并调用 Composio 的 Telegram 工具包。需要已启用的 Telegram 连接和获授权的机器人。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill telegram-automation安装后在 Claude Code 中输入/telegram-automation确认已加载。
详细介绍
通过 Rube MCP 自动化 Telegram
通过 Rube MCP 使用 Composio 的 Telegram 工具包自动化 Telegram 操作。
前置条件
- 已连接 Rube MCP(可使用 RUBE_SEARCH_TOOLS)
- 通过
RUBE_MANAGE_CONNECTIONS建立有效的 Telegram 连接,工具包为telegram - 始终先调用
RUBE_SEARCH_TOOLS,获取当前工具架构 - 需要 Telegram Bot Token(通过 @BotFather 创建)
设置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。MCP 端点仍需要提供方连接,以及已安装的 Rube 服务返回的授权流程;仅添加 URL 不会授予账户访问权限。
- 确认
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 个字符
- 通过机器人 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
注意事项:
- BotCommand.command 值不包含开头的“/”,且须由 1–32 个小写英文字母、数字或下划线组成;界面会显示斜杠
- BotCommand 描述长度限制为 1–256 个字符;请核对当前工具架构
- 请及时响应回调查询并处理过期错误;不要假定其有效期限固定且通用
- 设置命令会替换整个命令列表
常见模式
解析聊天 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
已知注意事项
机器人权限:
- 机器人必须加入群组/频道才能进行交互
- 删除消息、导出邀请链接和管理成员需要管理员权限
- 机器人无法主动发起对话;用户必须先启动机器人
速率限制:
- 单个聊天中,每秒发送的消息尽量不要超过一条
- 群组每分钟最多约 20 条消息;免费批量广播的总体速率约为每秒 30 条消息
- 批量操作应在调用之间设置延迟
- 达到限制时,API 会返回 429 Too Many Requests
聊天类型:
- 私聊:与机器人的一对一聊天
- 群组:多人聊天(必须添加机器人)
- 超级群组:具备管理员功能的增强型群组
- 频道:仅用于广播(机器人必须是管理员才能发帖)
消息限制:
- 文本消息:最多 4096 个字符
- 媒体说明:最多 1024 个字符
- 通过机器人 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 |
适用场景
当任务与概述中所述的工作流或操作明确匹配时,可使用此技能。
限制
- 仅当任务明确符合上述范围时,才使用此技能。
- 不要将输出视为环境专属验证、测试或专家审核的替代品。
- 如果缺少必需的输入、权限、安全边界或成功标准,请暂停并请求澄清。
发送、转发或编辑前,请确认机器人身份、准确的目标聊天 ID,以及消息或媒体内容。读取更新并不代表获得了发送邀请、删除内容或更改机器人菜单的授权。机器人 API 访问权限不等于可访问一般聊天记录;仅使用通过发现流程实际返回的工具。保护令牌和私人转发内容,限制轮询范围,并在重试前核实状态不明的发送操作。
这些是默认速率指南,不保证实际容量。遵守 retry_after;付费群发需要单独明确的预算授权。导出主要邀请链接可能会使先前的链接失效;请先确认这一影响。请参阅 Telegram 机器人常见问题,并在发送前发现当前 Bot API 和工具限制。