install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/1227cwx/telegram-bot-chat" ~/.claude/skills/clawdbot-skills-telegram-bot-chat && rm -rf "$T"
manifest:
skills/1227cwx/telegram-bot-chat/SKILL.mdsource content
Telegram Bot间群聊通信技能
创建时间: 2026-02-20 11:03 UTC+8 技能版本: 1.0.0 适用场景: Telegram群聊中多agent协同通信
name: telegram-bot-chat version: 1.0.0 description: Telegram群聊中实现多agent之间互相通信的技术,促进协同工作效率提升 homepage: https://telegram.org metadata: {"category":"communication","platform":"telegram","use_case":"multi_agent_coordination"}
Telegram Bot群聊通信
实现多agent在Telegram群聊中的高效协同通信,促进协同工作效率的提升
Skill Files
| File | URL |
|---|---|
| SKILL.md (this file) | Current file |
| SKILL.md | Skill documentation |
Install locally:
# 安装到工作空间skills目录 cp -r telegram-bot-chat /root/.openclaw/workspace/skills/
然后主agent需要手动执行多bot部署:
# 主agent执行:复制skill到每个bot的工作空间 WORKSPACE_SKILLS="/root/.openclaw/workspace/skills" # 复制workspace中所有skills到每个bot的workspace目录 for skill_dir in $WORKSPACE_SKILLS/*/; do if [ -d "$skill_dir" ]; then skill_name=$(basename "$skill_dir") echo "复制技能 $skill_name 到每个bot的工作空间" # 复制到workspace-2, workspace-3, workspace-4等 for workspace_dir in /root/.openclaw/workspace*; do if [ "$workspace_dir" != "$WORKSPACE_SKILLS" ]; then mkdir -p "$workspace_dir/skills" cp -r "$skill_dir" "$workspace_dir/skills/" echo "已部署技能 $skill_name 到 $workspace_dir" fi done fi done
Or just read from this file!
⚠️ IMPORTANT:
- 确保所有bot都有完整的telegram配置
- 正确使用sessions_send和message工具参数
- 测试bot间通信是否正常工作
🔒 关键要点:
- 必须在正确的sessionKey格式中使用telegram和group类型
- message工具必须指定accountId使用自己的bot配置
- sessionKey必须包含bot名称、channel类型和群ID
适用性检查: 所有agent都可使用此技能进行多agent协同通信
核心问题
Telegram Bot API不会把bot发的消息投递给其他bot,所以:
- ❌ 在群里@其他bot,他们收不到消息
- ❌ bot直接艾特bot没有效果
解决方案:sessions_send + 正确配置
发送消息到其他bot
当需要与其他bot对话时,使用:
sessions_send( sessionKey="agent:bot2:telegram:group:群ID", // 正确的sessionKey message="群聊对话。来自:main。内容:想要bot2回复的内容..." )
接收消息并回复
当收到其他bot通过sessions_send发来的消息时:
- 解析消息内容:识别这是群聊场景和消息来源
- 使用message工具回复:
message( action="send", channel="telegram", accountId="自己的bot accountId", // 使用自己的bot accountId target="群ID", // 群ID message="你的回复内容" )
sessionKey格式详解
agent:[bot名称]:telegram:group:群ID
示例:
- bot2在群聊:
agent:bot2:telegram:group:群ID - bot3在群聊:
agent:bot3:telegram:group:群ID - bot4在群聊:
agent:bot4:telegram:group:群ID
完整工作流程
botA → sessions_send → botB收到 → botB回复 → OpenClaw announce → 群聊显示
关键技术要点
1. sessionKey必须包含
- bot名称(bot2, bot3, bot4等)
- channel类型(telegram)
- group类型和群ID
2. message工具必须指定
:使用自己的bot accountIdaccountId
:固定为"telegram"channel
:群IDtarget
3. 配置要求
每个bot必须在
channels.telegram.accounts中有完整配置:
- botToken
- 群聊权限
- 正确的accountId
实际使用示例
场景1:bot2叫bot3
// 错误的做法 // @bot3 在群里(bot3收不到) // 正确的做法 sessions_send( sessionKey="agent:bot3:telegram:group:群ID", message="bot2在群里说:bot3,过来帮忙!" )
场景2:bot3收到并回复
// bot3收到sessions_send后 message( action="send", channel="telegram", accountId="自己的bot accountId", // 使用自己的bot accountId target="群ID", message="来了,什么事?" )
常见错误
❌ 错误1:sessionKey格式不对
// 错误的sessionKey agent:bot2:main // 没有channel和群信息 // 正确的sessionKey agent:bot2:telegram:group:群ID
❌ 错误2:忘记指定accountId
// 错误:没有accountId message(action="send", channel="telegram", target="群ID") // 正确:包含accountId message(action="send", channel="telegram", accountId="自己的bot accountId", target="群ID")
❌ 错误3:没有telegram配置
- bot需要在channels.telegram.accounts中有完整配置
- 需要有对应的botToken和权限
部署指南
第1步:安装到主agent工作空间
# 安装到工作空间skills目录 cp -r telegram-bot-chat /root/.openclaw/workspace/skills/
第2步:主agent手动执行多bot部署
# 复制skill到每个bot的工作空间(主agent执行) WORKSPACE_SKILLS="/root/.openclaw/workspace/skills" # 复制workspace中所有skills到每个bot的workspace目录 for skill_dir in $WORKSPACE_SKILLS/*/; do if [ -d "$skill_dir" ]; then skill_name=$(basename "$skill_dir") echo "复制技能 $skill_name 到每个bot的工作空间" # 复制到workspace-2, workspace-3, workspace-4等 for workspace_dir in /root/.openclaw/workspace*; do if [ "$workspace_dir" != "$WORKSPACE_SKILLS" ]; then mkdir -p "$workspace_dir/skills" cp -r "$skill_dir" "$workspace_dir/skills/" echo "已部署技能 $skill_name 到 $workspace_dir" fi done fi done
第3步:验证部署
- 确保每个bot的channels.telegram.accounts配置完整
- 测试bot之间的通信是否正常
多bot部署说明:
- skill安装时只部署到主agent工作空间
- 主agent需要手动执行复制脚本
- 复制脚本会自动检测所有非main bot目录
- 复制完成后所有bot都可使用此技能进行协同通信
总结
通过这个技能,多个agent可以在Telegram群聊中实现高效协同通信,促进协同工作效率的提升。关键是要使用正确的sessionKey格式和message工具参数。
检查更新: 随时重新阅读此文件查看新功能!