设置
在 BotFather 中创建机器人,将 token 提供给 OpenClaw,批准第一条私信,并将机器人添加到群组。
快速设置¶
1. 在 BotFather 中创建机器人 token
两种流程最终都会得到一个 token,你需要将其粘贴到 OpenClaw 中——选择其中一种:
- 聊天流程:打开 Telegram 并与 @BotFather 聊天。确认用户名恰好为
@BotFather。运行/newbot,按照提示操作,并保存 token。 - 网页流程:打开 BotFather 的 Web 应用。它可在所有 Telegram 客户端中运行,包括 web.telegram.org。在 UI 中创建机器人,然后复制其 token。
2. 配置 token 和私信策略
最快的方式是 CLI。它会替你写入 token 到配置中:
如果改为手动编辑配置,请将以下内容放入 `~/.openclaw/openclaw.json`:
{
channels: {
telegram: {
enabled: true,
botToken: "123:abc",
dmPolicy: "pairing",
groups: { "*": { requireMention: true } },
},
},
}
环境变量回退:`TELEGRAM_BOT_TOKEN`(仅限默认账户)。命名账户必须使用 `botToken` 或 `tokenFile`。
Telegram **不**使用 `openclaw channels login telegram`。在配置或环境变量中设置 token,然后启动 gateway。
3. 验证通道
<a id="restart-the-gateway" />
使用默认的 [热重载](../../gateway/configuration/hot-reload.md),正在运行的
Gateway 会应用新的通道配置。检查 Telegram 是否已就绪:
如果 Gateway 处于离线状态,请使用 `openclaw gateway start` 启动托管
服务,或使用 `openclaw gateway` 在当前终端中运行它。如果你更改了
服务环境,请重启 Gateway 以加载它。
4. 批准你的第一条私信
打开 Telegram 并向你的机器人发送任意消息。该消息会创建
下一条命令将列出的配对请求:
配对码在 1 小时后过期。
5. 将机器人添加到群组
将机器人添加到你的群组,然后获取群组访问所需的两个 ID:
- 你的 Telegram 用户 ID,用于
allowFrom/groupAllowFrom - Telegram 群组聊天 ID,作为
channels.telegram.groups下的键
从 openclaw logs --follow、转发 ID 的机器人或 Bot API getUpdates 中获取群组聊天 ID。群组被允许后,/whoami@<bot_username> 会确认用户 ID 和群组 ID。
以 -100 开头的负数超级群组 ID 是群组聊天 ID。它们应放在 channels.telegram.groups 下,而不是 groupAllowFrom。
Note
Token 解析是账户感知的。tokenFile 优先于 botToken,botToken 优先于环境变量。配置始终优先于 TELEGRAM_BOT_TOKEN,后者仅对默认账户解析。成功启动后,OpenClaw 会缓存机器人身份长达 24 小时,因此重启会跳过额外的 getMe 调用。更改或删除 token 会清除该缓存。
Telegram 端设置¶
隐私模式和群组可见性
Telegram 机器人默认启用 隐私模式,它会限制机器人能接收哪些群组消息。
要查看所有群组消息,可以:
- 通过
/setprivacy禁用隐私模式,或 - 将机器人设为群组管理员。
切换隐私模式后,请在每个群组中移除并重新添加机器人,以便 Telegram 应用该更改。
群组权限
管理员状态在 Telegram 群组设置中控制。管理员机器人会接收所有群组消息,适用于始终在线的群组行为。
有用的 BotFather 开关
/setjoingroups— 允许/拒绝加入群组/setprivacy— 群组可见性行为
如果你更喜欢 UI 而不是聊天命令,相同的设置也可在 BotFather 的 Web 应用 中使用。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw