Telegram 是 OpenClaw 最常用的消息频道,配置简单稳定,支持 DM、群组、论坛话题、语音消息和内联按钮。本文从零开始,完整讲解配置流程。
快速配置(4 步)
第 1 步:在 BotFather 创建 Bot
- 打开 Telegram,搜索 @BotFather(注意确认是官方 Bot)
- 发送
/newbot - 按提示输入 Bot 名称和用户名
- 保存返回的 Token(格式:
123456789:ABCdefGHI...)
第 2 步:配置 OpenClaw
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "你的BOT_TOKEN",
"dmPolicy": "pairing",
"groups": {
"*": { "requireMention": true }
}
}
}
}也可以用环境变量:TELEGRAM_BOT_TOKEN=...(仅适用于默认账号)。
第 3 步:启动 Gateway 并批准配对
openclaw gateway
openclaw pairing list telegram
openclaw pairing approve telegram CODE配对码有效期 1 小时。
第 4 步:添加 Bot 到群组
将 Bot 添加到 Telegram 群组,然后在配置中设置 channels.telegram.groups 和 groupPolicy。
获取你的 Telegram 用户 ID
安全方式(不依赖第三方 Bot):
- 给你的 Bot 发一条私信
- 运行
openclaw logs --follow - 在日志中找到
from.id字段
API 方式:
curl "https://api.telegram.org/bot<你的TOKEN>/getUpdates"DM 访问控制策略
通过 channels.telegram.dmPolicy 控制谁能给 Bot 发私信:
| 策略 | 说明 |
|---|---|
pairing(默认) | 未知用户收到配对码,批准后可以对话 |
allowlist | 只允许 allowFrom 列表中的用户 ID |
open | 允许所有人(需要 allowFrom 包含 "*") |
disabled | 禁用所有私信 |
{
"channels": {
"telegram": {
"dmPolicy": "allowlist",
"allowFrom": ["123456789", "987654321"]
}
}
}注意:allowFrom 只接受数字用户 ID,不支持 @username 格式。如果配置中有 @username,运行 openclaw doctor --fix 自动解析。
群组访问控制
两层控制同时生效:
第一层:允许哪些群组
{
"channels": {
"telegram": {
"groups": {
"-1001234567890": { "groupPolicy": "open", "requireMention": false },
"*": { "requireMention": true }
}
}
}
}第二层:允许群组中的哪些用户
{
"channels": {
"telegram": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["123456789"]
}
}
}Telegram 隐私模式(重要)
Telegram Bot 默认开启隐私模式,只能看到:
- @提及 Bot 的消息
- 回复 Bot 消息的消息
- 私聊消息
如果需要 Bot 看到群组中的所有消息,需要:
- 在 BotFather 中运行
/setprivacy→ 选择 Bot → 选择Disable - 将 Bot 从群组中移除再重新添加,让 Telegram 应用新设置
或者将 Bot 设为群组管理员,管理员 Bot 自动接收所有群组消息。
Telegram Forum(话题)支持
OpenClaw 支持 Telegram Forum(带话题的超级群组),每个话题有独立的会话,不同话题的对话互不干扰:
{
"channels": {
"telegram": {
"groups": {
"-1001234567890": {
"topics": {
"12345": { "allow": true, "requireMention": false }
}
}
}
}
}
}多账号配置
运行多个 Telegram Bot:
{
"channels": {
"telegram": {
"accounts": {
"default": {
"botToken": "TOKEN_1",
"dmPolicy": "pairing"
},
"group-bot": {
"botToken": "TOKEN_2",
"groups": { "*": { "requireMention": false } }
}
}
}
}
}常见问题
Bot 不响应群组消息?
- 检查隐私模式是否关闭(或 Bot 是否是管理员)
- 确认群组 ID 在
groups配置中 - 如果设置了
requireMention: true,要在消息中 @ Bot
找不到我的 Telegram ID?
- 不要用第三方 Bot,用
openclaw logs --follow查看日志中的from.id
配对码过期了?
- 配对码只有 1 小时有效期,重新向 Bot 发消息获取新码
原文:Telegram - OpenClaw | 来源:OpenClaw 官方文档