Telegram 机器人创建与接入指南
# 前言
Telegram Bot 是接入 AI Agent(如 OpenClaw、Hermes)的重要渠道。本文将详细介绍:
- 如何通过 BotFather 创建 Telegram 机器人
- 如何将机器人接入 OpenClaw
- 如何将机器人接入 Hermes Agent
# 第一部分:创建 Telegram 机器人
# 1.1 通过 BotFather 创建
BotFather 是 Telegram 官方的机器人管理工具,所有 Telegram Bot 都必须通过它创建。
步骤:
打开 Telegram,搜索 @BotFather
在 Telegram 搜索框输入
@BotFather,点击进入官方机器人。发送创建命令
/newbot1设置机器人名称
BotFather 会询问机器人名称(显示名),例如:
墨隐助手1名称可以是任意语言,不需要唯一。
设置机器人用户名
接下来设置用户名(Username),必须以
bot结尾,例如:moyin_bot1用户名必须是唯一的、英文、以
bot结尾。获取 Token
创建成功后,BotFather 会返回 Token:
Done! Congratulations on your new bot... Use this token to access the HTTP API: 1234567890:ABCdefGHIjklMNOpqrsTUVwxyz1
2
3⚠️ 这个 Token 需要妥善保管,不要泄露!
# 1.2 获取 Chat ID
要让机器人发送消息,还需要知道 Chat ID(接收者的 ID)。
方法一:通过 @userinfobot
- 搜索
@userinfobot - 点击 Start
- 它会返回你的 Chat ID
方法二:通过 API
# 先向机器人发一条消息
# 然后用 API 获取
curl "https://api.telegram.org/bot<TOKEN>/getUpdates"
2
3
返回结果中 chat.id 就是 Chat ID。
# 1.3 BotFather 常用命令
| 命令 | 说明 |
|---|---|
/newbot | 创建新机器人 |
/mybots | 查看我的所有机器人 |
/setname | 设置机器人名称 |
/setdescription | 设置描述 |
/setabouttext | 设置简介 |
/setuserpic | 设置头像 |
/setcommands | 设置命令列表 |
/deletebot | 删除机器人 |
/token | 重新生成 Token |
# 1.4 设置机器人命令
向 BotFather 发送 /setcommands,然后粘贴:
start - 开始对话
help - 获取帮助
status - 查看状态
model - 切换模型
tools - 工具设置
2
3
4
5
# 第二部分:接入 OpenClaw
# 2.1 OpenClaw Telegram 配置
OpenClaw 通过配置文件接入 Telegram,需要配置 bindings 和 messages 字段。
配置示例:
{
"bindings": [
{
"agentId": "main",
"match": {
"channel": "telegram",
"accountId": "moyin_bot"
}
}
],
"messages": {
"ackReactionScope": "group-mentions"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
# 2.2 配置 Telegram Token
OpenClaw 的 Token 通过环境变量设置:
# 在 ~/.openclaw/.env 文件中添加
TELEGRAM_BOT_TOKEN_<ACCOUNT_ID>=<TOKEN>
2
例如:
# Account ID 为 moyin_bot
TELEGRAM_BOT_TOKEN_MOYIN_BOT=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz
2
提示
Account ID 可以自定义,但必须与 bindings 中的 accountId 对应。
# 2.3 配置 Authorized Senders
限制谁可以与机器人对话:
{
"authorizedSenders": [8468181200]
}
2
3
只有这些用户才能使用机器人。
# 2.4 完整配置示例
{
"agents": {
"defaults": {
"model": {
"primary": "tencent-coding-plan/glm-5"
},
"workspace": "/root/.openclaw/moyin/workspace"
},
"list": [
{
"id": "main",
"default": true,
"workspace": "/root/.openclaw/moyin/workspace"
}
]
},
"bindings": [
{
"agentId": "main",
"match": {
"channel": "telegram",
"accountId": "moyin_bot"
}
}
],
"messages": {
"ackReactionScope": "group-mentions"
},
"authorizedSenders": [8468181200],
"session": {
"dmScope": "per-channel-peer"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 2.5 启动 OpenClaw Gateway
# 启动 Gateway 服务
openclaw gateway
# 或使用 systemd 管理
sudo systemctl start openclaw-gateway
2
3
4
5
# 2.6 OpenClaw Telegram 特性
| 特性 | 说明 |
|---|---|
| 私聊回复 | 直接向机器人发消息,自动回复 |
| 群聊触发 | 需要 @机器人名 或使用命令 |
| Reaction | 收到消息时自动点赞确认 |
| Reply | 回复特定消息([[reply_to_current]]) |
| 按钮交互 | 支持内联按钮 |
# 第三部分:接入 Hermes Agent
# 3.1 Hermes Gateway 配置
Hermes 使用交互式配置向导设置 Telegram:
# 启动 Gateway 配置向导
hermes gateway setup
2
按照提示:
- 选择
Telegram渠道 - 输入 Bot Token
- 配置允许的用户/群组
- 保存配置
# 3.2 手动配置 Telegram
如果需要手动配置,编辑 ~/.hermes/config.yaml:
gateway:
telegram:
enabled: true
token: "1234567890:ABCdefGHIjklMNOpqrsTUVwxyz"
allowed_users:
- 8468181200
allowed_groups:
- -1001234567890
2
3
4
5
6
7
8
# 3.3 运行 Hermes Gateway
# 直接运行
hermes gateway
# 安装为系统服务
hermes gateway install
# 使用 systemd 管理
sudo systemctl enable hermes-gateway
sudo systemctl start hermes-gateway
2
3
4
5
6
7
8
9
# 3.4 Hermes Gateway 特性
Hermes Gateway 支持多渠道统一接入:
| 渠道 | 说明 |
|---|---|
| Telegram | 最常用的渠道 |
| Discord | 游戏社区常用 |
| Slack | 团队协作 |
| 国际通讯 | |
| Signal | 安全通讯 |
| 邮件渠道 |
所有渠道共享同一个 Agent:
- 同样的记忆
- 同样的技能
- 同样的配置
# 3.5 Hermes Telegram 高级功能
自然语言 Cron:
# 在 Telegram 中发送
"提醒我每天早上9点吃药"
# Hermes 会自动创建 cron 任务
2
3
4
多模型切换:
# 在对话中切换模型
/model claude-3.5-sonnet
2
技能安装:
# 通过 Telegram 安装技能
/skill install weather
2
# 第四部分:对比与选择
# 4.1 OpenClaw vs Hermes Telegram 功能对比
| 功能 | OpenClaw | Hermes |
|---|---|---|
| 配置方式 | JSON 配置文件 | 交互式向导 + YAML |
| 多渠道 | Telegram + 飞书 | Telegram/Discord/Slack/WhatsApp/Signal/Email |
| Reaction | ✅ 支持 | ✅ 支持 |
| 内联按钮 | ✅ 支持 | ✅ 支持 |
| 自然语言 Cron | ❌ | ✅ |
| 技能系统 | Skill 文件 | 动态生成 + 市场 |
| 持久记忆 | MEMORY.md | 自动持久化 |
| 配置难度 | 中等(需手动编辑) | 低(交互式向导) |
# 4.2 选择建议
| 场景 | 推荐 |
|---|---|
| 只需要 Telegram | OpenClaw 或 Hermes 均可 |
| 需要飞书集成 | OpenClaw |
| 需要多渠道 | Hermes |
| 需要自然语言 Cron | Hermes |
| 追求简单配置 | Hermes |
| 已有 OpenClaw 配置 | 继续用 OpenClaw |
# 第五部分:常见问题
# 5.1 机器人不回复
检查项:
# 1. 检查 Token 是否正确
curl "https://api.telegram.org/bot<TOKEN>/getMe"
# 2. 检查是否收到消息
curl "https://api.telegram.org/bot<TOKEN>/getUpdates"
# 3. 检查 Gateway 是否运行
# OpenClaw
openclaw gateway --status
# Hermes
hermes gateway --status
2
3
4
5
6
7
8
9
10
11
12
# 5.2 群聊中机器人不回复
原因: 群聊需要 @机器人名 或使用命令
解决方案:
- OpenClaw:配置
ackReactionScope - Hermes:确保机器人在群中有发言权限
# 5.3 Token 泄露怎么办
立即重新生成:
# 向 BotFather 发送
/token
# 会生成新的 Token
2
3
4
# 5.4 多机器人管理
OpenClaw:
{
"bindings": [
{
"agentId": "main",
"match": {
"channel": "telegram",
"accountId": "bot1"
}
},
{
"agentId": "moxi",
"match": {
"channel": "telegram",
"accountId": "bot2"
}
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Hermes: 使用 Profile 系统:
# 创建新 Profile
hermes profile create moxi
# 在新 Profile 中配置 Gateway
hermes gateway setup
2
3
4
5
# 第六部分:安全建议
# 6.1 Token 安全
- ❌ 不要将 Token 写入博客、GitHub
- ❌ 不要通过 HTTP 传输 Token
- ✅ 使用环境变量存储
- ✅ 定期更换 Token
# 6.2 用户限制
// OpenClaw
{
"authorizedSenders": [8468181200]
}
// Hermes YAML
gateway:
telegram:
allowed_users:
- 8468181200
2
3
4
5
6
7
8
9
10
# 6.3 命令权限
限制危险命令:
{
"commands": {
"native": "owner"
}
}
2
3
4
5
# 附录:快速检查清单
# Telegram Bot 检查
- [ ] BotFather 创建机器人
- [ ] 获取 Token
- [ ] 获取 Chat ID
- [ ] 设置机器人头像、描述
- [ ] 设置命令列表
# OpenClaw 检查
- [ ] 配置 bindings
- [ ] 设置环境变量 Token
- [ ] 配置 authorizedSenders
- [ ] 启动 Gateway
- [ ] 测试私聊回复
- [ ] 测试群聊触发
# Hermes 检查
- [ ] 运行
hermes gateway setup - [ ] 输入 Telegram Token
- [ ] 配置 allowed_users
- [ ] 运行
hermes gateway - [ ] 测试各渠道
- [ ] 测试 cron 功能
# 相关链接
- Telegram Bot API:https://core.telegram.org/bots/api (opens new window)
- BotFather 教程:https://core.telegram.org/bots/tutorial (opens new window)
- OpenClaw 文档:https://docs.openclaw.ai (opens new window)
- Hermes 文档:https://hermes-agent.nousresearch.com (opens new window)
# 总结
创建 Telegram Bot 只需几分钟,但接入 AI Agent 需要仔细配置。OpenClaw 适合已有配置体系的用户,Hermes 提供更简单的交互式向导和多渠道支持。根据需求选择合适的框架,让你的 AI Agent 随时随地为你服务。