什么是 Telegram Forum Topics
Telegram 的 Forum Topics(论坛话题)是一种群组管理功能:
- 将大型群组分成多个话题
- 每个话题独立的消息流
- 避免讨论混乱
- 适合大型社区(1000+ 人)
典型话题结构:
OpenClaw 中文社区(主群)
├── 💬 闲聊
├── 📚 新手问题
├── 🛠️ 技术讨论
├── 🐛 Bug 反馈
└── 📣 公告
v2026.4.14 的改进
之前的问题:
Agent 收到消息时看到:
"topic_id": 12345
Agent 完全不知道这是什么话题,无法做出合适回复
v2026.4.14 修复:
Agent 收到消息时看到:
"topic_name": "技术讨论"
"topic_id": 12345
Agent 知道这是技术讨论话题,可以针对性回复
配置 Telegram Bot 支持话题
第一步:启用群组的话题功能
- 在群组中:群组信息 → 编辑 → 话题 → 启用
- 这会将普通群组转换为"论坛"式群组
第二步:授予 Bot 权限
Bot 需要以下权限:
- 读取消息
- 发送消息
- 管理话题(可选)
在 BotFather 或群组设置中添加 Bot 并授权。
第三步:OpenClaw 配置
channels:
telegram:
enabled: true
botToken: "$TELEGRAM_BOT_TOKEN"
forumTopics:
enabled: true
nameInContext: true # v2026.4.14 新增:话题名注入上下文
话题感知的 Agent 行为
自动话题路由
可以让不同话题使用不同 Agent:
channels:
telegram:
topicRouting:
"技术讨论":
agent: "tech-expert"
"新手问题":
agent: "beginner-helper"
"Bug 反馈":
agent: "bug-triage"
每个话题会路由到合适的 Agent。
话题专属 Standing Orders
agents:
tech-expert:
standingOrders: |
这是技术讨论话题,回复要求:
- 提供详细的技术方案
- 包含代码示例
- 引用官方文档
beginner-helper:
standingOrders: |
这是新手话题,回复要求:
- 耐心解释基础概念
- 避免使用过多术语
- 推荐入门教程
实际应用
社区管理
[技术讨论话题]
用户:OpenClaw 如何接入千问模型?
Agent(技术专家):以下是详细步骤...
[包含代码、配置、链接]
[新手问题话题]
用户:千问是什么?
Agent(新手助手):千问是阿里的 AI 模型...
[通俗易懂的解释]
智能分类
可以配置 Agent 自动引导用户到合适话题:
channels:
telegram:
autoRedirect: true
[闲聊话题]
用户:OpenClaw 报错了,代码如下...
Agent:这个问题更适合在 "🐛 Bug 反馈" 话题讨论,
我已经自动@相关维护者
话题摘要生成
Agent 可以定期生成话题摘要:
cron:
- schedule: "0 18 * * *" # 每天 18:00
flow: daily-topic-summary
# workflows/daily-topic-summary.lobster
name: daily-topic-summary
steps:
- id: fetch
tool: telegram-messages
args:
topics: ["技术讨论", "Bug 反馈"]
since: "today 00:00"
- id: summarize
tool: llm-task
args:
prompt: "总结每个话题今日的关键讨论"
input: $fetch.json
- id: post
tool: message
args:
channel: "telegram:📣 公告"
text: "今日社区动态:$summarize.output"
话题 metadata 在插件中
插件也可以访问话题信息:
plugins:
my-plugin:
metadata:
telegramTopic:
- name: "Bug 反馈"
- name: "技术讨论"
插件在处理消息时可以根据话题采取不同行为。
支持的话题操作
v2026.4.14 支持的话题操作:
| 操作 | 说明 |
|---|---|
| 读取话题列表 | Agent 了解群组有哪些话题 |
| 识别话题名称 | 消息带有话题名称上下文 |
| 发送到指定话题 | channel: "telegram:technical" |
| 话题内搜索 | 只在特定话题搜索历史 |
| 话题统计 | 统计话题活跃度 |
常见场景
场景 1:客户支持分流
channels:
telegram:
topicRouting:
"销售咨询":
agent: "sales"
"技术支持":
agent: "support"
"账单问题":
agent: "billing"
每个话题专业 Agent 处理,效率大幅提升。
场景 2:多语言社区
channels:
telegram:
topicRouting:
"中文讨论":
agent: "zh-agent"
"English":
agent: "en-agent"
"日本語":
agent: "ja-agent"
场景 3:开发者社区
channels:
telegram:
topicRouting:
"前端":
agent: "frontend-expert"
"后端":
agent: "backend-expert"
"DevOps":
agent: "ops-expert"
"数据库":
agent: "db-expert"
故障排查
Agent 收不到话题消息
检查 Bot 权限:
openclaw doctor telegram
话题名未显示
确认 v2026.4.14 已启用:
forumTopics:
enabled: true
nameInContext: true
话题路由失效
# 查看消息路由日志
openclaw logs --filter "telegram.topic-routing"
最佳实践
- 话题命名清晰:让 Agent 容易理解
- 数量控制:5-10 个话题足够大部分场景
- 公告话题:保留一个专门的公告话题
- 机器人限制:在特定话题禁用 Agent(如纯闲聊)
- 定期整理:长期无活跃的话题考虑归档
注意事项
- Telegram Forum Topics 仅超级群组(100+ 成员)可用
- 普通群组需先升级为超级群组
- 话题功能需要 Telegram Bot API v7.x 或更高
- v2026.4.14 之前的版本话题名不会出现在 Agent 上下文中
- Agent 在话题间移动消息受 Telegram API 限制
- 敏感话题建议限制 Agent 访问