OpenClaw学习总结_II_频道系统_4:Slack集成详解

II. 频道系统 - 4. Slack

📍 课程位置阶段 :II. 频道系统 课序 :第 4 课 前置知识 :II-3. Discord 后续课程 :II-5. Signal---## 🎯 本课核心问题(你不懂我就这样教你)Slack 接入常见问题:1. **怎么创建 Slack App 并接到 OpenClaw?**2. **Socket Mode 是什么?为什么它比 Webhook 更适合本地开发?**3. **为什么 bot 收不到消息?是不是事件订阅没开?**4. 群里怎么避免乱回(@ 才回)? ---## 🧠 心智模型:Slack App = Bot Token +(可选)Socket Token一句话:> Slack 的关键是:你创建的是一个 App ,App 里有 bot,bot 需要 token 才能收发消息。类比:- Slack Workspace 像"公司"- App 像"公司内部系统"- Bot 像"系统里的机器人账号"- Token 像"门禁卡"---## ✅ 验收标准- 创建 Slack App- 拿到 Bot Token(xoxb-...)- 选择 Socket Mode 并配置 App-Level Token(xapp-...)- OpenClaw 能收到 Slack 消息- 能回复消息---## 🔧 第一步:创建 Slack App1. 到 Slack API 网站创建 App2. 选择"From scratch"3. 选择目标 Workspace---## 🔧 第二步:配置权限(Scopes)Slack 权限配置在 OAuth & Permissions 里。最低可用(典型):- chat:write(发消息)- channels:history(读频道消息)- im:history(读私聊)- groups:history(读私有频道,若需要)如果你要让 bot 进入频道,可能还需要:- channels:read配置完 scopes 后:- 需要重新 Install App 到 Workspace---## 🔧 第三步:启用 Socket Mode(推荐)### 为什么推荐 Socket Mode?- 你不需要公网服务器- 本地开发最方便- Slack 会通过 WebSocket 把事件推给你启用步骤:1. 打开 Socket Mode2. 创建 App-Level Token(xapp-...)3. 给这个 token 配置 connections:write scope---## 🔧 第四步:事件订阅(Events)Slack 的消息不是"自动送来"的,你需要订阅事件。常见需要订阅:- message.im(私聊消息)- message.channels(频道消息)以及可能需要:- app_mention(被 @)---## 🔧 第五步:配置 OpenClaw在 ~/.openclaw/openclaw.jsonjson5{ channels: { slack: { enabled: true, // Bot token botToken: "xoxb-...", // Socket Mode token appToken: "xapp-...", // 安全策略 dmPolicy: "pairing", // pairing | allowlist | open | disabled allowFrom: ["slk:U123"], } }}---## 🧩 群聊不乱回:只在 @ 时响应Slack 里推荐用 app_mention + mentionPatterns。思路:- 默认不响应普通频道消息- 只响应 @bot---## ⚠️ 常见坑与排查| 现象 | 常见原因 | 排查 ||------|----------|------|| 收不到消息 | 没订阅 Events | 检查 Event Subscriptions || 能收不能回 | 没 chat:write | 检查 scopes || Socket 断开 | appToken 错/未启用 socket | 检查 Socket Mode + xapp || 安装后没生效 | 没重新 Install | 重新安装 App |---## 📝 学习心得Slack 的"本质难点"是:- 它是一个 App 平台- 你必须明确:权限(scopes)+ 事件(events)+ 连接方式(socket/webhook)推荐顺序:1. 先 Socket Mode 跑通2. 再补 scopes3. 再加 @ gating 和安全策略---## ✅ 本课总结(记住 5 句话)1. Slack 先创建 App,再拿 token。2. Bot token(xoxb)负责发消息,App token(xapp)负责 Socket Mode。3. 收不到消息通常是 Events 没订阅。4. 发不出去通常是 chat:write scope 没开。5. 生产/本地开发优先 Socket Mode,省掉公网暴露。---## 🔗 相关资源- 官方文档:https://docs.openclaw.ai/channels/slack- Slack API:https://api.slack.com/apps- 配置参考:https://docs.openclaw.ai/gateway/configuration-reference- 下一课:II-5. Signal

相关推荐
WA内核拾荒者8 小时前
WhatsApp 消息发送失败的重试策略与幂等性保证
自动化
用户938515635079 小时前
从零在浏览器里跑 DeepSeek-R1:WebGPU + Transformer.js 全链路实战
前端·设计模式·typescript
CodeSheep9 小时前
稚晖君公司人事大变动,来了!
前端·后端·程序员
鱼樱前端9 小时前
用 AI 做内容变收入
前端·人工智能·ai编程
浮生望10 小时前
React + TypeScript 组件设计进阶:从类型约束到无状态组件的三次进化
前端
90后的晨仔10 小时前
Mac 开发 uni-app 终极方案:让安卓模拟器彻底脱离 Android Studio 独立运行
前端·vue.js
90后的晨仔10 小时前
别再搞混了!uni-app 中 node_modules 和 uni_modules 到底是什么关系?
前端
kyriewen11 小时前
面试官问"这段逻辑为什么这样写"——我才发现,这半年我写的代码,我自己都解释不了
前端·javascript·面试
谢小飞11 小时前
大文件上传很难?学会这招,GB文件秒传不是梦
前端·node.js
程序员黑豆12 小时前
Windows 系统 Java 环境变量配置全攻略:解决“不是内部或外部命令”
java·前端·ai编程