CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
OpenClaw 实战入门/课时/Channels 集成
RawBlame
课时目录12 节

OpenClaw 实战入门

  1. 01OpenClaw 概览
  2. 02安装与部署
  3. 03Workspace 文件
  4. 04Gateway 与上下文
  5. 05模型与 Provider
  6. 06Channels 集成
  7. 07Skills 生态
  8. 08Memory 系统
  9. 09Agents 与路由
  10. 10自动化
  11. 11安全
  12. 12运维与插件

Channels 集成

Slack/Telegram/Discord。

30 分钟

Channels 集成

这一课你将能做到

  1. 用 openclaw channels add 接入 Slack / Telegram / Discord
  2. 用 pairing 与 allowlist 控制谁可以私聊你的 bot
  3. 排查渠道消息收发故障,定位到具体渠道与账号

为什么要学

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

讲清楚要点

  1. DM 默认 pairing,不是直接响应:陌生人私聊先收到配对邀请,管理员用 openclaw pairing approve <code> 批准后才能对话。这是防陌生人的第一道闸。
  2. 群组有独立触发规则:群里 bot 默认只在被 @ 时响应,或匹配预设关键词。没有触发规则时它只听不说,避免群消息噪音。
  3. channel add 有交互与非交互两种模式:交互模式()适合本地操作;非交互模式()适合 CI/CD 和无人值守部署。
openclaw channels add telegram
--channel telegram --token xxx
  • 死信队列(dead letters):消息因网络或插件故障投递失败时进死信队列,可查询、可重发,是排障的第一现场。
  • 渠道插件可扩展:官方支持 Slack/Telegram/Discord/WhatsApp/iMessage/Feishu/Signal/Matrix/Teams 等;不在列表里的可通过社区插件或自写插件接入。
  • 你可能会懵的地方

    • 为什么 bot 在群里不回复? 大概率是没被 @ 或没匹配关键词。群组模式下默认静默,配置触发规则后才响应。另查 channels status --probe 看渠道是否健康。

    • DM pairing 的批准流程是什么? 陌生人发消息 → 收到配对码 → 管理员运行 openclaw pairing approve <code> → 该用户加入 allowlist → 后续对话直接通过。

    • 一个渠道能配多个账号吗? 能。每个渠道插件支持多账号(比如两个 Slack workspace),用 --account 区分,channels add 时会提示命名。

    • 渠道配置写在哪? ~/.openclaw/openclaw.json 的 channels 节下。也可用 openclaw channels add 的非交互模式直接写入,或手动编辑后 openclaw gateway restart 生效。

    • Feishu(飞书)怎么接? 官方渠道列表包含飞书。接入方式与其他渠道类似,在飞书开放平台创建自建应用,拿到 App ID 和 App Secret 后用 openclaw channels add feishu 配置。

    错法对照

    错法问题正解
    把 DM 策略改成 open 不设防任何人都能指挥你的 bot保持 pairing,只批准已知同事
    群组里没配触发规则就怪 bot 不说话默认静默是保护,不是故障配置 @提及或关键词触发
    渠道故障时狂发测试消息消息积压进死信队列先 channels status --probe 定位,再针对性修
    在渠道配置里明文写 tokentoken 进配置、进日志、进备份用环境变量引用 ${TELEGRAM_BOT_TOKEN}
    多账号渠道不配 account 名消息路由混乱channels add 时明确 --account work / --account personal

    卡点急救

    1. Telegram 加了 token 但收不到消息:确认 token 没复制错(多空格常见);确认 Gateway 在跑;确认没有被 Telegram 封 bot(给 @BotFather 发 /mybots 看状态)。
    2. Slack 事件订阅失败:检查 Slack App 的 Event Subscriptions URL 是否指向 Gateway 的可达地址;确认 Request URL 验证已通过。
    3. 消息进了死信队列:channels dead-letters list 看失败原因;修复后用 dead-letters resubmit 重发。

    面试常问

    • OpenClaw 如何控制谁能私聊 bot? 两层:第一层 pairing,陌生人 DM 默认收到配对邀请,管理员批准后进入 allowlist;第二层 allowlist,可随时增删。配合 openclaw pairing approve/deny/list 管理,做到「默认拒绝、按需放行」。

    • 群组场景下如何避免 bot 被滥用? 群组默认不触发,需配置 @提及或关键词;群成员身份可映射到内部用户体系做权限分级;敏感操作(如执行命令)在群聊中默认需要审批;审计日志记录所有触发与响应,可追溯。

    • 多渠道统一接入的架构优势是什么? 统一路由层:所有渠道消息归一到 Gateway 的 Agent 循环,一处配置模型、记忆、权限;统一审计:跨渠道消息日志集中可查;统一记忆:用户在 Slack 里聊的上下文,换 Telegram 继续聊时 bot 仍记得(若启用跨渠道会话共享)。

    自测三问

    1. DM pairing 的完整流程是什么?
    2. channels status --probe 和 channels status 的区别?
    3. 群组里 bot 默认为什么不说话?

    小结一句话

    Channel 决定 bot 在哪工作,pairing/allowlist 决定谁能让它干活——接入只是开始,访问控制才是生产级标准。

    延伸

    • 渠道配置参考
    • 配对与安全
    • 下一课:Skills 生态——用 ClawHub 和自定义技能扩展 bot 的能力边界。
    加载本节练习…
    ← 上一课模型与 Provider下一课 →Skills 生态