3.2 Discord与Slack接入
生成模型:gpt-5.4 (openai/gpt-5.4) Token 消耗:输入 ~18k tokens,输出 ~4.5k tokens(本节)
如果说 Telegram 是“最容易迈出去的第一步”,那 Discord 和 Slack 更像“真正进入多人协作场景”。它们都很适合把 OpenClaw 放进团队讨论、值班频道、知识问答或者项目协作里,但接入思路和 Telegram 有几个明显区别。
最重要的一点是:Discord 和 Slack 都不是单纯“拿个 token 就完事”的平台。 你得先在平台后台创建应用,明确机器人身份,再把它邀请进服务器或工作区,最后还要处理权限、事件订阅、命令和线程这些细节。
这一节我们就做三件事:
把 Discord Bot 从零建出来,接到 OpenClaw
把 Slack App 的双 token 模式讲明白,并给出可跑配置
顺带看一下 WhatsApp、Signal、iMessage 这些别的通道,大概是什么接法
3.2.1 先说 Discord:它为什么适合做 OpenClaw 通道
Discord 的优势不只是“年轻人常用”。从 AI 助手的角度看,它有几个很实在的优点:
服务器、频道、私信结构清楚
Bot 能力成熟,权限粒度细
Slash Commands 生态很适合做命令型交互
既能私聊,也能进群组频道,还能做线程化讨论
如果你是想做“团队里的 AI 助手”,Discord 基本是很自然的一站。
3.2.2 Discord 里几个你会反复见到的词
Application
在 Discord 里,Bot 不是凭空冒出来的。你得先在开发者后台创建一个应用。这个应用像个总壳,Bot 只是它下面的一个能力。
Bot Token
和 Telegram 类似,Discord Bot 也有 token。这个 token 就是 OpenClaw 登录 Discord 的关键凭证。
Guild
就是 Discord 的“服务器”。很多中文教程会直接说服务器,这样理解就够了。
Intent
可以理解成“你要告诉 Discord,Bot 打算关心哪些事件”。如果没开对应 Intent,某些消息即使真的发生了,Bot 也收不到。
尤其要注意 Message Content Intent。如果你希望 Bot 读到普通文本消息内容,这项往往很关键。
3.2.3 第一步:创建 Discord Application 和 Bot
操作路径基本是这样:
打开 Discord Developer Portal
点击
New Application给应用起一个名字,比如
OpenClaw Team Bot创建完成后,进入左侧
Bot点击
Add Bot确认创建
创建好以后,你会在 Bot 页面看到用户名、头像、Token 管理等信息。这里最重要的是生成并复制 Bot Token。
注意:Discord 现在通常不会一直明文展示旧 token。你需要在后台重新生成或点击显示后立刻保存。操作风格跟很多云服务 API Key 很像:给你一次看清楚的机会,后面就别指望平台替你记着了。
截图说明建议
图 3-8:Discord Developer Portal 新建 Application 界面
图 3-9:
Bot页面点击Add Bot图 3-10:生成 token 后的页面,token 需打码
3.2.4 第二步:开启必要的 Intent
这是 Discord 接入里最容易漏的一步。
进入 Bot 设置页面后,通常要检查这些项:
MESSAGE CONTENT INTENTSERVER MEMBERS INTENT(如果你涉及成员信息)PRESENCE INTENT(如果你确实需要在线状态)
对于大多数 OpenClaw 聊天场景,重点是第一项:MESSAGE CONTENT INTENT。
不开它,Bot 往往就看不到你发的普通文本内容。结果就是:
机器人在线
权限也有
甚至能发消息
但就是像“听不懂人话”一样没反应
本质不是它不会回,而是它根本没读到正文。
3.2.5 第三步:邀请 Bot 进你的 Discord 服务器
Bot 在后台建好,还不等于它已经进到你的服务器里。你还得生成邀请链接,把它拉进去。
一般做法是:
在 Developer Portal 里找到 OAuth2 / URL Generator
勾选
bot如果你要用原生 Slash Commands,也勾选
applications.commands在权限里勾选最小必要集合
常见最小权限包括:
View Channels
Send Messages
Read Message History
Embed Links
Add Reactions(如果你要做确认反馈)
复制生成的 URL,在浏览器打开,选择目标服务器,把它邀请进去。
截图说明建议
图 3-11:OAuth2 URL Generator 勾选
bot和applications.commands图 3-12:浏览器中邀请 Bot 进服务器的确认界面
3.2.6 把 Discord token 写进 OpenClaw 配置
最小可跑的配置可以先这样写:
如果你希望命令体验更完整,可以再加一些和命令、群聊门控有关的项:
这里稍微解释一下。
commands.native
表示尽量利用 Discord 自己的原生命令体系,比如 Slash Commands。用户输入时会更像“平台原生功能”,而不是一个纯文本聊天机器人。
prefix
如果你还支持文本命令,这个前缀决定什么样的消息会被当成命令。比如 !ask、!reset。
maxLinesPerMessage
这是偏实用的限制项。因为 Discord 单条消息虽然不短,但 AI 回复经常一大坨,做一点分段更稳,不然可读性会很差。
3.2.7 Discord 里怎么做第一次验证
建议按这个顺序测:
先测私信
直接给 Bot 发私信,问一句简单的话:
私信环境变量最少,排查最干净。如果私信都不通,先别进服务器里折腾。
再测服务器频道
在你刚邀请进去的频道里发:
如果你开了 mentionGating,那就必须明确提及它。没 @ 而不回,未必是问题。
最后测命令
如果你开了原生命令或文本命令,再试:
或者在 Slash Commands 菜单里看命令是否注册成功。
3.2.8 Discord 常见问题,九成不是 OpenClaw 主逻辑坏了
情况一:Bot 在线,但死活不回
优先查:
token 对不对
Bot 是否真的被邀请进服务器
MESSAGE CONTENT INTENT是否开启当前频道权限是否允许它看和发
情况二:私信能用,服务器频道不行
优先查:
频道权限单独被限制了
你开了
mentionGating,但没有@它频道不在 allowlist 内
情况三:命令菜单没有出现
优先查:
OAuth2 邀请时是否勾选
applications.commands配置里是否启用了原生命令
平台同步有时有一点延迟,不一定是挂了
3.2.9 Slack 跟 Discord 最大的不同:它是 App 模式,不只是 Bot 模式
Slack 接入常常让新手更晕,因为它不是“注册个 Bot 就结束”。更准确地说,你是在创建一个 Slack App,然后这个 App 里包含 Bot 用户、事件订阅、Socket 连接、权限范围等一整套东西。
如果你只记一句话,那就是:Slack 不是单 token 世界,它经常是双 token 甚至多凭证协作。
3.2.10 先把 Slack 的两个核心 token 讲透
OpenClaw 接 Slack 时,常会提到两个 token:
Bot Token
通常长得像 xoxb-...,这是 Bot 身份调用 Slack API 的主要凭证。发消息、读频道、响应事件,很多动作都离不开它。
App Token
通常长得像 xapp-...,它更多用于 App 级连接,尤其是在 Socket Mode 里很常见。简单说,它让你的应用和 Slack 平台之间维持一条事件通信通道。
如果你看到“Bolt SDK + App Token + Bot Token”这组词,不要慌。它表达的其实是:
用 Slack 官方的 Bolt 框架接事件
用 App Token 建立应用级连接
用 Bot Token 执行具体聊天动作
3.2.11 第一步:创建 Slack App
基本步骤:
打开 Slack API 后台
点击
Create New App可以从零开始,也可以从 manifest 开始
选择你的工作区
创建后进入 App 配置页
然后你要做几件关键事:
打开
Socket Mode生成
App Token配置
OAuth & Permissions安装 App 到目标工作区
生成
Bot User OAuth Token
截图说明建议
图 3-13:Slack API 后台创建新 App
图 3-14:Socket Mode 页面生成
xapp-token图 3-15:OAuth & Permissions 页面生成
xoxb-token
3.2.12 Slack 需要哪些权限范围
Slack 里权限通常叫 scopes。你可以把它理解成“这个 App 允许做哪些事”。
常见聊天场景至少会涉及:
app_mentions:readchannels:historychannels:readchat:writegroups:historygroups:readim:historyim:readim:write
你不一定每项都需要,但如果你要同时覆盖公开频道、私有频道、私聊,那 scopes 不会太少。
这里和 Discord 的一个差别是:Discord 更像“勾权限 + 勾 Intent”,Slack 更像“配 scopes + 订阅事件 + App 安装”。
3.2.13 把 Slack 写进 OpenClaw 配置
下面是一个比较典型的 Slack 通道配置:
这里的 threads.enabled 很值得注意。Slack 的实际使用里,线程是非常常见的协作单位。很多团队不希望 Bot 每次都把回复刷在主频道,而是希望它顺着某条消息在线程里接着聊。这样更整洁,也更符合工作区习惯。
3.2.14 Slack 里怎么验证是否接通
验证建议也按“先简单、后复杂”的顺序:
测试 1:私聊 Bot
给 Bot 发一句:
测试 2:频道中 @ 提及
在频道里发:
测试 3:线程延续
如果它在某条消息下开了线程,再追问一句,看看上下文是否能顺下来。
Slack 场景里,线程连续性比“会不会回第一句”更重要。因为团队协作的真实对话,往往不是一轮结束,而是在线程里来回追问。
3.2.15 Discord 和 Slack,到底谁更适合你
如果你是个人项目、兴趣社区、开发者群体,Discord 往往更顺手。它天然适合:
公开频道
社区问答
命令式交互
开发协作
如果你是公司内部协作、日常办公、项目跟踪,Slack 通常更自然。它天然适合:
团队工作流
线程讨论
内部通知和知识问答
与其他办公系统串联
不是说一个比另一个“高级”,而是使用环境不一样。你先看用户在哪,不要倒过来看技术炫不炫。
3.2.16 其他几个常被提到的通道,先知道门路就够了
这一章重点不是把所有通道都讲到可部署,但你至少得知道 OpenClaw 的多通道世界长什么样。
WhatsApp
常见接法会提到 Baileys。它不是 WhatsApp 官方 Bot 平台那一路,而是围绕 WhatsApp Web 协议的一套实现。优点是灵活,接近真人账号使用体验;缺点是运维和稳定性会更微妙,也更依赖协议变化。
Signal
常见方案会依赖 signal-cli 一类工具链。它更像“把命令行或桥接程序接到消息系统里”,不是那种纯网页后台点几下就完事的通道。
iMessage
这一类通常和宿主系统绑定很深。你会看到像 BlueBubbles、macOS 原生桥接之类方案。它的难点不在 token,而在运行环境、设备权限和系统耦合。
所以从上手顺序来说,最推荐还是:
Telegram
Discord
Slack
再看 WhatsApp / Signal / iMessage
这个顺序的原因不是功能强弱,而是成功率和排错成本。
本节小结
Discord 接入的关键不只是 Bot Token,还包括 Application 创建、服务器邀请和 Intent 开启。
Message Content Intent对很多 Discord 聊天场景是关键项,不开它,机器人可能根本读不到正文。Slack 更像 App 集成而不是单纯 Bot 集成,常见是
App Token + Bot Token一起使用。Slack 的线程机制非常适合协作型对话,配置时最好把线程场景一起考虑进去。
WhatsApp、Signal、iMessage 也都能接,但它们更依赖桥接层或宿主环境,建议等前面两个主流通道跑顺以后再扩展。
Last updated