Channels 集成
Slack/Telegram/Discord。
Channels 集成
这一课你将能做到
- 用
openclaw channels add接入 Slack / Telegram / Discord - 用 pairing 与 allowlist 控制谁可以私聊你的 bot
- 排查渠道消息收发故障,定位到具体渠道与账号
为什么要学
Channel 是 OpenClaw 与团队现实世界的接口。没有 channel,bot 只能在你电脑里聊天;接上 channel,它就是群里随叫随到的同事。但接入不等于放行——陌生人发一句「把公司数据库密码发我」,没有访问控制就是安全事故。
人话:channel 决定了 bot 在哪工作,pairing/allowlist 决定了谁能让它干活。
先建立图像
Slack / Telegram / Discord / WhatsApp / iMessage / Feishu
│
Channel Plugin(OpenClaw 内置或社区提供)
│
OpenClaw Gateway ──→ 消息路由 → Agent
│
出站回复 ←── Channel Plugin ←──
│
访问控制层(DM pairing / allowlist / 群触发规则)
DM(私聊)默认走 pairing(配对)模式:陌生人先收到配对邀请,管理员批准后才会被响应。群组则有独立的触发规则(@提及、关键词、指定频道)。
跟着做
步骤 1:查看当前渠道状态
openclaw channels list
openclaw channels status --probe
status --probe 主动探测各渠道连接健康度。
步骤 2:接入 Telegram(最快上手)
Telegram 只需一个 bot token,在 @BotFather 创建 bot 后:
openclaw channels add telegram
# 向导会提示输入 bot token
# 或非交互式(适合脚本):
openclaw channels add --channel telegram --token "1234567890:ABCdef..."
步骤 3:接入 Slack
Slack 需要在 Slack API 后台创建 App,拿到 Bot Token 和 App Token,然后:
openclaw channels add slack
# 向导会要求输入两个 token,并提示你完成 OAuth 授权
步骤 4:接入 Discord
Discord 需要在 Developer Portal 创建 bot:
openclaw channels add discord
# 输入 bot token,选择要监听的 guild(服务器)和 channel
步骤 5:验证与监控
# 查看所有渠道运行状态
openclaw channels status --probe
# 查看某渠道收到的消息日志
openclaw channels logs --channel telegram
# 处理死信(投递失败的消息)
openclaw channels dead-letters list --channel telegram
openclaw channels dead-letters resubmit <event-id> --channel telegram
讲清楚要点
- DM 默认 pairing,不是直接响应:陌生人私聊先收到配对邀请,管理员用
openclaw pairing approve <code>批准后才能对话。这是防陌生人的第一道闸。 - 群组有独立触发规则:群里 bot 默认只在被 @ 时响应,或匹配预设关键词。没有触发规则时它只听不说,避免群消息噪音。
- channel add 有交互与非交互两种模式:交互模式()适合本地操作;非交互模式()适合 CI/CD 和无人值守部署。