创建时间: 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"}
实现多agent在Telegram群聊中的高效协同通信,促进协同工作效率的提升
| 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没有效果
当需要与其他bot对话时,使用:
sessions_send(
sessionKey="agent:bot2:telegram:group:群ID", // 正确的sessionKey
message="群聊对话。来自:main。内容:想要bot2回复的内容..."
)
当收到其他bot通过sessions_send发来的消息时:
message(
action="send",
channel="telegram",
accountId="自己的bot accountId", // 使用自己的bot accountId
target="群ID", // 群ID
message="你的回复内容"
)
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 → 群聊显示
accountId:使用自己的bot accountIdchannel:固定为"telegram"target:群ID每个bot必须在channels.telegram.accounts中有完整配置:
- botToken
- 群聊权限
- 正确的accountId
// 错误的做法
// @bot3 在群里(bot3收不到)
// 正确的做法
sessions_send(
sessionKey="agent:bot3:telegram:group:群ID",
message="bot2在群里说:bot3,过来帮忙!"
)
// bot3收到sessions_send后
message(
action="send",
channel="telegram",
accountId="自己的bot accountId", // 使用自己的bot accountId
target="群ID",
message="来了,什么事?"
)
// 错误的sessionKey
agent:bot2:main // 没有channel和群信息
// 正确的sessionKey
agent:bot2:telegram:group:群ID
// 错误:没有accountId
message(action="send", channel="telegram", target="群ID")
// 正确:包含accountId
message(action="send", channel="telegram", accountId="自己的bot accountId", target="群ID")
第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步:验证部署 1. 确保每个bot的channels.telegram.accounts配置完整 2. 测试bot之间的通信是否正常
多bot部署说明: - skill安装时只部署到主agent工作空间 - 主agent需要手动执行复制脚本 - 复制脚本会自动检测所有非main bot目录 - 复制完成后所有bot都可使用此技能进行协同通信
通过这个技能,多个agent可以在Telegram群聊中实现高效协同通信,促进协同工作效率的提升。关键是要使用正确的sessionKey格式和message工具参数。
检查更新: 随时重新阅读此文件查看新功能!
这是一个解决Telegram群聊多Bot协同通信问题的技能文档。文档内容详实,提供了清晰的解决方案和大量示例,常见错误部分对新手很有帮助。不过文档格式稍显混乱,且缺少可直接使用的代码实现。作为技术文档质量中等偏上,对于需要配置多Bot通信的场景有一定参考价值。.