Telegram

快速将 OpenClaw Agent 接入 Telegram 生态,在安全、高效的端到端加密环境中实现个人助理或群组自动化管理。

概述

Telegram 是 OpenClaw 官方最推荐的基础接入渠道之一。得益于 Telegram 开放且强大的 Bot API,您可以在数分钟内完成集成并开始使用。

它具有以下显著优势:

  • 极简配置:通过官方 @BotFather 创建 Bot 仅需几步交互,且完全免费。
  • 富媒体支持:原生支持文字、语音、文档、图片等多种消息类型的无缝交互。
  • 高阶隐私:基于高度安全的通信协议,提供可靠的链路隐私保护机制。
  • 全平台多端互通:支持在手机端、桌面端及时接收 Agent 推送和处理自动化任务。

前置准备

在开始配置之前,请确保:

  • 拥有一个可通过客户端登录的有效 Telegram 账号。
  • 服务器或本地环境已完成 OpenClaw 的基础安装与初始化。
  • 确保您的服务器网络环境能够顺畅连通 Telegram 官方接口端点(api.telegram.org)。

接入配置步骤

1. 寻找并在 BotFather 中注册实体

@BotFather 是 Telegram 官方的机器人管理中枢。

  1. 在 Telegram 客户端的搜索框中输入 @BotFather(注意认准官方蓝V认证图标)。
  2. 点击进入对话历史,点击底部的「Start」或发送命令 /start 开始对话。
  3. 发送命令 /newbot 请求创建一个全新的机器人。
  4. 按引导提示输入机器人的显示名称 (Name),例如:OpenClaw Assistant
  5. 输入机器人的唯一用户名 (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

按照终端提示进行操作:

  1. 在服务提供商渠道列表中选中「Telegram」。
  2. 粘贴在步骤 2 中获取到的完整 Bot Token
  3. 设定入站访问策略:
    • Open:开放型策略,响应所有向它发消息的用户记录(适合初次建站极速测试)。
    • Allowlist:白名单策略,强制阻断名单外的人员交互请求(生产环境强制建议)。
  4. 确认后选择「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 --verbose

2. 通过对话抓取您的目标 ID

  1. 在 Telegram 中搜索您的新机器人 Username 并点击「Start」。
  2. 随意发送一句测试文本,例如:Hello
  3. 如果为 Open 策略,Bot 会回复。如果是 Allowlist 策略,它可能此时拒绝您的指令。
  4. 切回服务器,查看刚才开启的日志抓取终端。您会在入站的 payload 中清晰看到一串用于表征身份的纯数字 userId(例如:userId: 123456789)。

3. 将自身加入高优白名单矩阵

编辑配置文件,把上述获取到的数值放入授权数组:

{
  "channels": {
    "telegram": {
      "groupPolicy": "allowlist",
      "allowedUsers": ["123456789"] 
    }
  }
}

或者使用更快捷的终端控制命令热加载生效:

openclaw channels whitelist add telegram 123456789

高阶场景配置

投放到群组协作 (Groups)

Telegram Bot 同样可以被直接拉入超级群组中提供协作服务。

  1. 进入 @BotFather 对话页面,发送 /setjoingroups 修改全局设置,允许机器人被邀请进群。
  2. (核心)隐私模式调整:发送 /setprivacy 并将其设定为 Disable,这允许您的机器人在群聊内阅读所有消息上下文,而非仅能读到以 / 开头的系统指令。
  3. 邀请机器人进入您的测试群组。同样在群内发消息并通过日志抓取该群的专属 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 迅速变为一张废纸,并颁发一个新的发还给您。

衍生配置参考入口

On this page