切换语言
切换主题

OpenClaw Telegram集成教程:从创建Bot到配置完成的完整指南

凌晨两点,我盯着屏幕上的代码调试窗口,突然想到一个问题需要AI帮忙。打开浏览器、登录ChatGPT网站、等加载——这一套流程下来得好几分钟。那一刻我在想,要是能在Telegram上直接问我的AI助手该多好,就像和朋友聊天一样自然。

后来我发现,这个需求实现起来比想象中简单多了。OpenClaw配合Telegram Bot,半小时就能搞定。你不需要懂复杂的后端开发,也不用担心服务器配置——跟着这篇教程走,你也能拥有一个24小时在线的AI私人助手。

说实话,第一次看到Bot在Telegram里回复我的时候,那种成就感还挺爽的。今天我就把整个流程手把手教给你,包括那些我踩过的坑和常见的问题排查方法。准备好了吗?咱们开始吧。

准备工作:你需要知道的基础概念

在动手之前,咱们先搞清楚几个关键概念。这不是无聊的理论课,理解这些能让你少走很多弯路。

Telegram Bot不是普通账号。它更像一个自动回复机器人的接口,可以接收消息、发送回复,但不能主动发起对话。想象一下客服机器人,你问它问题它才会回答。

BotFather是谁? 这是Telegram官方提供的”Bot工厂”,所有Bot都从这里诞生。它本身也是一个Bot,通过和它对话就能创建、配置你自己的Bot。第一次听说的时候我还觉得挺有意思——用Bot来管理Bot。

OpenClaw在这里扮演什么角色? 简单说,它是连接Telegram和AI大模型的桥梁。Telegram负责收消息,OpenClaw接收后转给Claude或GPT,然后把AI的回复再发回Telegram。整个流程你完全不用写代码。

4
所需准备项

你需要准备这些东西

  • 一个Telegram账号(应该都有吧)
  • 已安装并运行的OpenClaw(如果还没装,可以参考官方文档或我之前写的安装教程)
  • AI模型的API Key(Claude、GPT、Gemini都行,有免费额度的也可以先测试)

老实讲,这些准备工作其实不复杂。OpenClaw支持多平台(Telegram、WhatsApp、微信等)和多种AI模型,配置一次之后想换模型也很方便。

第一步:通过BotFather创建你的Telegram Bot

好了,正戏开始。打开Telegram,在搜索框输入 @BotFather,认准那个带蓝色认证标志的官方账号。别点错了,山寨的可不少。

创建Bot的对话流程超简单

  1. 给BotFather发送 /newbot 命令
  2. 它会问你Bot的显示名称,随便起个好听的,比如”我的AI助手”
  3. 接着要设置用户名,这个有讲究:必须以bot结尾,而且全网唯一。我第一次起名AIAssistantBot就被占用了,试了三四次才成功

如果你遇到”用户名已被占用”,试试加点数字或者你的名字缩写,比如 MyAwesomeAI2024Bot

获取Bot Token是最关键的一步。创建成功后,BotFather会发给你一长串字符,格式大概像这样:

123456789:ABCdefGHIjklMNOpqrsTUVwxyz1234567890

这个Token就像你家钥匙一样重要。我见过有人不小心把Token提交到公开的GitHub仓库,结果额度被刷爆了,损失了好几百块。建议你马上复制到密码管理器或者加密笔记里,千万别发到聊天记录或者云笔记这种地方。

可选但建议做的配置

  • /setdescription 给Bot设置简介,用户点开Bot时会看到
  • /setabouttext 设置”关于”信息
  • /setuserpic 上传个头像,看起来专业点

别忘了获取你自己的Telegram用户ID!这个待会儿配置白名单时要用。在Telegram搜索 @userinfobot,给它发个 /start,它会返回你的数字ID,看起来像 123456789 这样。把这个也记下来。

第二步:配置OpenClaw的Telegram Channel

拿到Bot Token后,接下来就是配置OpenClaw了。这一步看起来有点技术,但说白了就是编辑一个JSON文件。

找到配置文件。OpenClaw的配置文件默认在 ~/.clawdbot/config/channels.json。如果你用Docker部署,需要先确认配置文件挂载的位置。

打开这个文件,你会看到一个JSON结构。如果是第一次配置,可能是空的或者有个示例。咱们直接上完整的配置:

{
  "channels": [
    {
      "id": "telegram-main",
      "type": "telegram",
      "enabled": true,
      "config": {
        "botToken": "YOUR_BOT_TOKEN_HERE",
        "allowedUserIds": [123456789],
        "enableDmPairing": false
      }
    }
  ]
}

各个参数啥意思

  • id:给这个Channel起个名字,方便你管理。如果你只有一个Telegram Bot,叫啥都行,建议起个有意义的
  • type:必须是 telegram,告诉OpenClaw这是Telegram渠道
  • enabledtrue 表示启用,false 表示临时禁用
  • botToken:把刚才从BotFather获取的Token粘贴到这里,注意别多复制空格或换行符
  • allowedUserIds:白名单用户ID数组,这个超重要,下一节详细说
  • enableDmPairing:配对码模式,高级功能,新手先设为 false

怎么编辑这个文件

如果你在Linux或Mac上,用 nanovim 都行:

nano ~/.clawdbot/config/channels.json

如果用Docker,可以这样进入容器编辑:

docker exec -it openclaw sh
vi /root/.clawdbot/config/channels.json

或者直接在宿主机上编辑挂载目录的文件。

常见错误提醒

  • JSON格式要严格:最后一个键值对后面不能有逗号
  • Token粘贴时容易多复制引号或空格,仔细检查
  • allowedUserIds 是数组,即使只有一个用户也要用方括号 []

我第一次配置的时候就是多了个逗号,OpenClaw启动失败,查日志找了半天才发现。JSON格式检查工具(比如在线的JSONLint)能帮你避免这种低级错误。

第三步:设置白名单保护你的Bot

说到白名单,这个真的太重要了。想象一下,你的Bot Token不小心泄露了,全世界任何人都能用你的Bot消耗你的AI额度。我有个朋友就这样,一个月的Claude额度三天就用完了。

为什么必须设置白名单

  • 防止陌生人滥用你的AI额度(这是真金白银啊)
  • 避免敏感信息泄露(你和AI的对话可能包含工作内容)
  • 控制使用成本(特别是用GPT-4这种贵的模型)

怎么配置白名单?还记得之前让你用 @userinfobot 获取的用户ID吗?就是用在这里。

单用户配置:

"allowedUserIds": [123456789]

多用户配置(比如团队使用):

"allowedUserIds": [123456789, 987654321, 555555555]

如何获取其他人的Telegram ID

  1. 让对方在Telegram搜索 @userinfobot
  2. 发送 /start 命令
  3. 把返回的数字ID告诉你
  4. 你添加到 allowedUserIds 数组里

如果你是给团队配置,建议维护一个文档记录所有授权用户的ID和名字,方便管理。有人离职了就及时从白名单移除,这是基本的安全意识。

关于Pairing模式(高级功能,新手可以跳过):

如果你把 enableDmPairing 设为 true,OpenClaw会生成一个配对码,用户首次使用时需要输入这个码才能激活。这适合多租户场景,比如你想让很多人用但又想有个激活流程。咱们这个教程先不搞这么复杂,用白名单就够了。

第四步:启动OpenClaw并测试连接

配置完成,激动人心的时刻到了。启动OpenClaw,看看你的Bot能不能正常工作。

启动OpenClaw服务

如果是本地安装:

openclaw start
# 或者
npm start

如果用Docker部署:

docker compose up -d

检查服务状态

启动后,看看日志确认Telegram Channel是否成功加载。用Docker的话:

docker compose logs openclaw -f

你应该能看到类似这样的日志:

[INFO] Loading Telegram channel: telegram-main
[INFO] Telegram bot connected successfully
[INFO] Listening for messages...

如果看到报错信息,别慌,记下错误内容,待会儿咱们有问题排查清单。

第一次对话测试(这是最激动的时刻):

  1. 在Telegram搜索你的Bot用户名(就是创建时那个以bot结尾的)
  2. 点击聊天窗口下方的 Start 按钮
  3. 发送一条测试消息,比如”你好”或”Hi there”
  4. 如果一切正常,几秒钟后Bot会回复AI生成的内容

我第一次看到Bot回复的时候,真的有点小激动。那种感觉就像你亲手造了个机器人,然后它真的能和你聊天了。

如果Bot没有响应怎么办?先别急着重装,往下看问题排查清单,90%的问题都能快速解决。

常见问题排查清单

Bot不响应?配置不生效?别慌,咱们一步步排查。我把遇到过的问题都整理成了checklist,照着查基本都能解决。

问题1:Bot完全不响应任何消息

这是最常见的问题,可能原因有好几个。按这个顺序检查:

  • OpenClaw服务是否正在运行?用 docker psps aux | grep openclaw 确认
  • Bot Token是否正确配置?检查 channels.json 里的Token,确保没有多余的空格或引号
  • 你的用户ID是否在白名单中?再用 @userinfobot 确认一遍ID,对比配置文件
  • 配置文件JSON格式是否正确?用JSONLint在线工具检查一下
  • AI模型的API Key是否有效且有额度?登录AI服务商后台查看余额

排查命令:

# 查看OpenClaw日志
docker compose logs openclaw -f

# 检查配置文件格式
cat ~/.clawdbot/config/channels.json | jq .

问题2:收到”Unauthorized”或”Forbidden”错误

这个错误十有八九是白名单问题。检查:

  • 你的Telegram用户ID是否在 allowedUserIds 数组里
  • ID是数字类型,不要加引号:[123456789] 而不是 ["123456789"]
  • 修改配置后记得重启OpenClaw服务

问题3:Bot响应很慢

如果Bot要等很久才回复,可能是这些原因:

  • AI模型API响应慢(特别是高峰期)
  • 网络连接问题(检查服务器到AI服务商的网络)
  • 服务器资源不足(查看CPU和内存使用率)

改善方法:

  • 换个响应更快的AI模型试试
  • 如果用的是GPT-4,可以先试试GPT-3.5或Claude 3 Haiku
  • 升级服务器配置或优化网络

问题4:配置文件修改后不生效

这个我也遇到过,改了半天配置发现根本没用。原因:忘记重启服务了。

解决方法:

docker compose restart
# 或者
systemctl restart openclaw

问题5:如何查看Bot的对话历史

OpenClaw会把对话记录保存在本地。你可以:

  • 查看日志文件(默认路径)
  • 使用OpenClaw的Control UI(如果启用了)
  • 直接查看数据库(SQLite或其他配置的数据库)

问题6:Bot Token泄露了怎么办

如果不小心把Token提交到公开仓库或者泄露了:

  1. 立即在BotFather中使用 /revoke 命令撤销Token
  2. /token 命令生成新的Token
  3. 更新OpenClaw配置文件
  4. 重启服务
  5. 检查AI服务商的用量,看是否被滥用

进阶配置(可选)

基础功能已经完全够用了,但如果你想玩点高级的,OpenClaw还有很多可以折腾的地方。

配置欢迎消息和命令菜单

在BotFather中,你可以用 /setcommands 给Bot设置命令菜单,比如:

start - 开始对话
help - 查看帮助
clear - 清空对话历史

用户输入 / 时就能看到这些命令提示。

启用DM配对模式

如果你想让多个人使用但又不想手动管理白名单,可以试试配对码模式:

"enableDmPairing": true

OpenClaw会生成一个配对码,用户首次使用时输入配对码即可激活。这个适合做成服务给其他人用。

配置不同用户使用不同AI模型

OpenClaw支持按用户分配不同的AI模型。比如管理员用GPT-4,普通用户用GPT-3.5。具体配置可以参考OpenClaw官方文档的Multi-Model部分。

集成OpenClaw Skills

Skills是OpenClaw的杀手级功能,可以让AI助手执行实际操作,比如:

  • 文件管理(创建、读取、编辑文件)
  • Shell命令执行
  • 网页搜索
  • 代码编写和调试

不过Skills功能需要谨慎开启,尤其是Shell命令执行,安全风险比较大。

设置对话记忆和个性化响应

OpenClaw会自动保存对话历史,你可以配置记忆长度、个性化提示词等,让AI助手更符合你的使用习惯。

这些进阶功能我就不展开了,感兴趣可以去OpenClaw官方文档深入研究。

结论

说了这么多,回头看整个流程其实并不复杂。从BotFather创建Bot、获取Token,到配置OpenClaw、设置白名单,再到启动测试,整个过程半小时足够了。

回顾一下最容易出错的地方

  • Bot Token一定要妥善保管,别提交到公开仓库
  • 白名单配置是安全的关键,别图省事跳过这一步
  • JSON格式要严格,多一个逗号都会导致配置失败
  • 改了配置记得重启服务,不然不生效

如果你按着这篇教程走下来,现在应该已经有一个能正常工作的Telegram AI助手了。打开Telegram随时问它问题,不用再打开浏览器、登录网站、等加载,体验真的舒服太多。

接下来你可以做什么

  • 试试不同的AI模型,看看哪个更适合你的需求
  • 探索OpenClaw的Skills功能,让AI助手能执行实际操作
  • 如果觉得好用,也可以给团队成员配置上

OpenClaw不只支持Telegram,还能接入WhatsApp、企业微信等平台。掌握了这套配置方法,其他平台也是触类旁通。

遇到问题别慌,回头看看问题排查清单,或者去OpenClaw社区问问。折腾这些工具的乐趣不就在于此嘛——每次解决一个问题,都能学到新东西。

现在,去和你的AI助手聊聊天吧!

OpenClaw Telegram Bot完整配置流程

从零开始搭建Telegram AI助手,包含Bot创建、OpenClaw配置、安全设置和测试验证

⏱️ 预计耗时: 30 分钟

  1. 1

    步骤1: 通过BotFather创建Telegram Bot

    创建步骤:
    1. 在Telegram搜索 @BotFather(认准蓝色认证标志)
    2. 发送 /newbot 命令开始创建
    3. 输入Bot显示名称(可随意命名)
    4. 设置用户名(必须以bot结尾,全网唯一)

    获取关键信息:
    • Bot Token:格式类似 123456789:ABCdefGHIjklMNOpqrsTUVwxyz1234567890
    • 立即保存到密码管理器,切勿泄露
    • 搜索 @userinfobot 获取你的用户ID(白名单配置需要)

    可选配置(建议完成):
    • /setdescription - 设置Bot简介
    • /setabouttext - 设置关于信息
    • /setuserpic - 上传头像
  2. 2

    步骤2: 配置OpenClaw的channels.json文件

    找到配置文件:
    • 默认路径:~/.clawdbot/config/channels.json
    • Docker部署需确认挂载目录

    编辑配置(完整示例):
    {
    "channels": [
    {
    "id": "telegram-main",
    "type": "telegram",
    "enabled": true,
    "config": {
    "botToken": "YOUR_BOT_TOKEN_HERE",
    "allowedUserIds": [123456789],
    "enableDmPairing": false
    }
    }
    ]
    }

    参数说明:
    • id:Channel标识符(自定义)
    • type:必须为 telegram
    • botToken:粘贴从BotFather获取的Token
    • allowedUserIds:白名单用户ID数组(数字类型,不加引号)
    • enableDmPairing:配对码模式,新手设为 false

    常见错误:
    • JSON格式错误(多余逗号、缺少括号)
    • Token包含多余空格或换行符
    • allowedUserIds 用了字符串而非数字
  3. 3

    步骤3: 配置白名单保护

    获取用户ID:
    1. 在Telegram搜索 @userinfobot
    2. 发送 /start 命令
    3. 记录返回的数字ID(如 123456789)

    单用户配置:
    "allowedUserIds": [123456789]

    多用户配置(团队使用):
    "allowedUserIds": [123456789, 987654321, 555555555]

    安全要点:
    • 只添加可信用户,避免API额度被滥用
    • 定期审查白名单,移除离职人员
    • Token泄露可能导致数百元损失
    • 建议维护文档记录用户ID与姓名对应关系
  4. 4

    步骤4: 启动服务并测试

    启动OpenClaw:

    本地安装:
    openclaw start
    # 或
    npm start

    Docker部署:
    docker compose up -d

    检查服务状态:
    docker compose logs openclaw -f

    预期日志输出:
    [INFO] Loading Telegram channel: telegram-main
    [INFO] Telegram bot connected successfully
    [INFO] Listening for messages...

    测试对话:
    1. 在Telegram搜索你的Bot用户名
    2. 点击 Start 按钮
    3. 发送测试消息(如"你好")
    4. 等待AI回复(通常几秒钟)

    配置修改后必须重启:
    docker compose restart
  5. 5

    步骤5: 常见问题排查

    Bot不响应检查清单:
    • OpenClaw服务是否运行(docker ps 或 ps aux | grep openclaw)
    • Bot Token配置是否正确(无多余空格)
    • 用户ID是否在白名单中
    • JSON格式是否正确(用JSONLint验证)
    • AI API Key是否有效且有额度

    Unauthorized错误:
    • 确认用户ID在 allowedUserIds 数组中
    • ID必须是数字类型:[123456789] 不是 ["123456789"]
    • 修改后重启服务

    响应慢的改善方法:
    • 换用响应更快的AI模型(如Claude 3 Haiku)
    • 检查网络连接质量
    • 升级服务器配置

    Token泄露应急处理:
    1. 在BotFather中执行 /revoke 撤销Token
    2. 执行 /token 生成新Token
    3. 更新OpenClaw配置文件
    4. 重启服务
    5. 检查AI服务商用量统计

常见问题

为什么Bot不响应我的消息?
Bot不响应90%是这几个原因:

1. 用户ID不在白名单:用 @userinfobot 确认你的Telegram ID,检查是否在 allowedUserIds 数组中
2. Bot Token配置错误:检查 channels.json 中的Token,确保没有多余空格或换行符
3. OpenClaw服务未运行:用 docker ps 或 ps aux | grep openclaw 确认服务状态
4. JSON格式错误:用JSONLint在线工具检查配置文件格式
5. AI API额度耗尽:登录AI服务商后台查看余额

按这个顺序排查,基本都能快速定位问题。
如何给团队成员添加访问权限?
团队配置步骤:

1. 让成员在Telegram搜索 @userinfobot
2. 发送 /start 获取用户ID(数字格式)
3. 把ID添加到 allowedUserIds 数组:
"allowedUserIds": [123456789, 987654321, 555555555]
4. 重启OpenClaw服务使配置生效

管理建议:
• 维护文档记录ID与姓名对应关系
• 成员离职时及时从白名单移除
• 定期审查白名单,确保安全性
• 可考虑使用配对码模式(enableDmPairing: true)自动化管理
Bot Token泄露了怎么办?
Token泄露应急处理流程:

1. 立即撤销Token:在BotFather中发送 /revoke 命令
2. 生成新Token:发送 /token 获取新的Token
3. 更新配置:编辑 channels.json 替换为新Token
4. 重启服务:docker compose restart 使新配置生效
5. 检查损失:登录AI服务商后台查看用量统计

预防措施:
• 不要把Token提交到公开的GitHub仓库
• 使用密码管理器保存Token
• 不要在聊天记录或云笔记中明文保存
• 配置白名单限制访问者
• Token已泄露案例损失可达数百元
能否配置不同用户使用不同AI模型?
可以,OpenClaw支持按用户分配AI模型。

实现方式:
1. 在OpenClaw配置中设置多个AI模型
2. 使用用户组或权限配置分配模型
3. 例如:管理员用GPT-4,普通用户用GPT-3.5

具体配置步骤参考OpenClaw官方文档的Multi-Model章节。这个功能适合团队使用,可以控制成本和访问权限。

其他进阶功能:
• Skills集成(文件管理、Shell执行、网页搜索)
• 对话记忆配置
• 个性化提示词设置
• 自定义命令菜单
OpenClaw还能接入哪些平台?
OpenClaw支持多个主流聊天平台:

已支持平台:
• Telegram(本教程介绍)
• WhatsApp
• 企业微信
• Discord
• Slack

配置方法类似:
1. 在对应平台创建Bot或应用
2. 获取API凭证(Token/Key)
3. 配置OpenClaw的 channels.json
4. 设置白名单或权限控制
5. 启动服务并测试

掌握Telegram配置后,其他平台基本是触类旁通。每个平台的具体配置可参考OpenClaw官方文档对应章节。
配置文件修改后为什么不生效?
最常见原因:忘记重启服务。

正确操作流程:
1. 编辑 channels.json 配置文件
2. 保存文件
3. 重启OpenClaw服务:
• Docker:docker compose restart
• 系统服务:systemctl restart openclaw
• 本地运行:停止进程后重新启动
4. 查看日志确认配置加载成功

其他可能原因:
• JSON格式错误导致配置加载失败(检查日志)
• 编辑了错误的配置文件(确认挂载路径)
• 文件权限问题(确保OpenClaw进程可读)
• 配置被其他配置覆盖(检查优先级)

建议每次修改配置后都查看启动日志,确认无报错。
如何查看Bot的对话历史记录?
OpenClaw提供多种方式查看对话历史:

方式一:查看日志文件
• 默认路径:~/.clawdbot/logs/
• Docker部署:docker compose logs openclaw

方式二:Control UI(如果启用)
• 通过Web界面查看和管理对话
• 需要在配置中启用Control UI功能

方式三:直接查询数据库
• OpenClaw默认使用SQLite存储对话
• 数据库路径:~/.clawdbot/data/
• 可用SQLite客户端查看

隐私建议:
• 定期清理敏感对话记录
• 注意数据库文件的访问权限
• 团队使用时明确数据保留政策

13 分钟阅读 · 发布于: 2026年2月5日 · 修改于: 2026年2月5日

评论

使用 GitHub 账号登录后即可评论

相关文章