Telegram
快速将 OpenClaw Agent 接入 Telegram 生态,在安全、高效的端到端加密环境中实现个人助理或群组自动化管理。
概述
Telegram 是 OpenClaw 官方最推荐的基础接入渠道之一。得益于 Telegram 开放且强大的 Bot API,您可以在数分钟内完成集成并开始使用。
它具有以下显著优势:
- 极简配置:通过官方
@BotFather创建 Bot 仅需几步交互,且完全免费。 - 富媒体支持:原生支持文字、语音、文档、图片等多种消息类型的无缝交互。
- 高阶隐私:基于高度安全的通信协议,提供可靠的链路隐私保护机制。
- 全平台多端互通:支持在手机端、桌面端及时接收 Agent 推送和处理自动化任务。
前置准备
在开始配置之前,请确保:
- 拥有一个可通过客户端登录的有效 Telegram 账号。
- 服务器或本地环境已完成 OpenClaw 的基础安装与初始化。
- 确保您的服务器网络环境能够顺畅连通 Telegram 官方接口端点(
api.telegram.org)。
接入配置步骤
1. 寻找并在 BotFather 中注册实体
@BotFather 是 Telegram 官方的机器人管理中枢。
- 在 Telegram 客户端的搜索框中输入
@BotFather(注意认准官方蓝V认证图标)。 - 点击进入对话历史,点击底部的「Start」或发送命令
/start开始对话。 - 发送命令
/newbot请求创建一个全新的机器人。 - 按引导提示输入机器人的显示名称 (Name),例如:
OpenClaw Assistant。 - 输入机器人的唯一用户名 (Username)(必须以
bot或_bot结尾且全局唯一),例如:my_openclaw_bot。
2. 获取并妥善保管 Bot Token
创建成功后,BotFather 会返回一条祝贺消息,其中包含供 API 接口调用的 HTTP API Token。
格式形如:1234567890:ABCdefGHIjklMNOpqrsTUVwxyz。
安全提示:Bot Token 是掌控该机器人的唯一最高权限凭证,请务必妥善保管,绝勿被硬编码到前端页面或提交到公开的代码仓库中。
3. 配置可选的美化项 (Bot Settings)
您可以通过继续向 @BotFather 发送以下命令来完善展示资料:
/setdescription:设置用户首次打开对话框时看到的占位引导说明。/setabouttext:设置机器人的简介资料。/setuserpic:为机器人上传一张专属头像。/setcommands:注册显示在输入框左侧菜单的快捷斜杠命令列表。
4. 在 OpenClaw 中绑定通道
方式 1:使用交互式引导向导(推荐)
在后端终端内运行新增渠道指引命令:
openclaw channels add按照终端提示进行操作:
- 在服务提供商渠道列表中选中「Telegram」。
- 粘贴在步骤 2 中获取到的完整 Bot Token。
- 设定入站访问策略:
- Open:开放型策略,响应所有向它发消息的用户记录(适合初次建站极速测试)。
- Allowlist:白名单策略,强制阻断名单外的人员交互请求(生产环境强制建议)。
- 确认后选择「Finished」结束配置。
方式 2:修改 JSON 本地配置文件
您也可以直接修改服务端的 ~/.openclaw/config.json 文件:
{
"channels": {
"telegram": {
"enabled": true,
"token": "在此填入_YOUR_BOT_TOKEN",
"groupPolicy": "allowlist",
"allowedUsers": [] // 后续可写入您的数字 User ID
}
}
}验证与获取白名单 ID
1. 启动服务进行挂屏测试
openclaw gateway并在另一个终端开启日志监听,用于抓取接下来我们说话时产生的网络载荷:
openclaw logs --channel telegram --verbose2. 通过对话抓取您的目标 ID
- 在 Telegram 中搜索您的新机器人 Username 并点击「Start」。
- 随意发送一句测试文本,例如:
Hello。 - 如果为
Open策略,Bot 会回复。如果是Allowlist策略,它可能此时拒绝您的指令。 - 切回服务器,查看刚才开启的日志抓取终端。您会在入站的 payload 中清晰看到一串用于表征身份的纯数字
userId(例如:userId: 123456789)。
3. 将自身加入高优白名单矩阵
编辑配置文件,把上述获取到的数值放入授权数组:
{
"channels": {
"telegram": {
"groupPolicy": "allowlist",
"allowedUsers": ["123456789"]
}
}
}或者使用更快捷的终端控制命令热加载生效:
openclaw channels whitelist add telegram 123456789高阶场景配置
投放到群组协作 (Groups)
Telegram Bot 同样可以被直接拉入超级群组中提供协作服务。
- 进入
@BotFather对话页面,发送/setjoingroups修改全局设置,允许机器人被邀请进群。 - (核心)隐私模式调整:发送
/setprivacy并将其设定为Disable,这允许您的机器人在群聊内阅读所有消息上下文,而非仅能读到以/开头的系统指令。 - 邀请机器人进入您的测试群组。同样在群内发消息并通过日志抓取该群的专属 Group ID(通常是带负号的极长数字,如
-1001234567890)。
然后即可在配置文件中设置群组特权:
{
"channels": {
"telegram": {
"groupPolicy": "allowlist",
"allowedGroups": ["-1001234567890"],
"requireMention": true // 推荐:群中强制要求 @机器人 才触发作答
}
}
}消息防扰过滤规则
在对接复杂群组时,可直接在网关层丢弃部分无用媒体事件,节约系统算力与大模型 token:
{
"channels": {
"telegram": {
"commandPrefix": "/", // 锁定系统级操作命令符
"ignoreTypes": ["sticker", "animation", "dice"], // 忽略贴纸、GIF 和骰子互动游戏
"ignoreCommands": ["/start", "/help"] // 将内置帮助指令交还给原版处理器忽略
}
}
}使用技巧与多 Agent 委派
复合型文件解析
得益于 OpenClaw 底层的解析中间件,您可以直接向处于活跃工作的 Agent 扔过去文件:
- 发送文档 (.pdf, .csv):Agent 可被命令分析内容、进行数据摘录。
- 发送图片:通过具备多模态的大模型引擎视觉核查、描述物体。
- 发送语音包:网关自动进行音频转写,让您边走边通过语音口授部署任务指令。
多 Agent 的分路绑定调度
当团队壮大,您可对特定开发者和特指群组精准输送不同类型的专属 Agent(分出 Support 和 Coder):
{
"bindings": [
{
"agentId": "assistant",
"match": {
"channel": "telegram",
"userId": "123456789" // 老板的专属特级秘书
}
},
{
"agentId": "coder",
"match": {
"channel": "telegram",
"groupId": "-100987654321" // 只在研发大群内巡场的专业代码大师
}
}
]
}性能限制及故障阻断
频控与反滥刷阻断配置
为了严防由于某个误配引发机器人陷入互相回复的“智械死循环死亡螺旋”或遭到大规模爬虫恶意刷量:
{
"channels": {
"telegram": {
"rateLimit": {
"maxRequests": 10, // 设置极高并发下的抛压天花板(单分钟10次)
"windowMs": 60000
},
"queueSize": 100, // 过剩堆积消息进入排队缓冲区
"concurrency": 5 // 本通道最大支持挂起的并发处理协程数
}
}
}常见调试排障 QA
Q:发送了消息但机器人呈现“僵尸状态”不说话?
- 检查后台:首先确保 OpenClaw 后端主干(
openclaw gateway)正处于常驻运行(Running)状态。 - 核实连接:如果是境内服务器,检查是否受到国内防火墙(GFW)的阻断,需要使用正向代理解决
api.telegram.org握手的问题。 - 日志定位:执行
openclaw logs --channel telegram --level error进行快速堆栈捕获定位。
Q:群组里无论说什么机器人都装死装瞎?
- 最常见的痛点:务必检查您是否在
@BotFather的/setprivacy菜单中,将其状态变更到了Disable。默认的 Enable 隐私保护会导致它变成瞎子!
Q:我想彻底吊销当前的机器人的 API 密钥?
- 回到
@BotFather,向其发送/revoke,即可让现存的 Token 迅速变为一张废纸,并颁发一个新的发还给您。