Discord 是 OpenClaw 支持的通讯平台中独特的一个——它让 OpenClaw 从”个人私人助理”升级为”团队共享 AI 工具”。你的服务器成员可以在频道里直接和 AI 对话,而你可以精细控制它在哪个频道发言、响应谁的消息。

本文是完整的 Discord 接入教程,覆盖开发者门户配置到 OpenClaw 权限设置的全流程,重点解决那个让90%新手卡住的问题:Bot 显示在线但就是不回复消息

先了解:Discord Bot 的工作原理

与 Telegram 不同,Discord 没有直接的”Bot Token + 配置”这么简单。你需要先在 Discord 开发者门户创建一个”应用程序”,再在其中添加 Bot,然后通过 OAuth2 链接将 Bot 邀请到你的服务器。

整个流程分为三个阶段:

  1. 开发者门户配置:创建应用、获取 Token、开启必要权限
  2. 邀请 Bot 到服务器:生成 OAuth2 邀请链接并授权
  3. 在 OpenClaw 中配置:填入 Token 和 ID,完成配对

整个过程约15~20分钟,不需要写任何代码。

第一步:在 Discord 开发者门户创建应用

  1. 打开浏览器,访问 discord.com/developers/applications,用你的 Discord 账号登录
  2. 点击右上角的 “New Application”(新建应用)
  3. 输入应用名称(如”OpenClaw助手”),勾选同意服务条款,点击 Create
  4. 应用创建完成,你会进入应用的设置页面

第二步:创建 Bot 并获取 Token

  1. 在应用设置页面的左侧菜单,点击 Bot
  2. 点击 Add Bot(或 Reset Token,名字取决于是否已存在 Bot),确认操作
  3. 可以修改 Bot 的用户名(这是它在 Discord 服务器中显示的名字)
  4. 点击 Reset Token,系统会生成一串 Token
  5. 点击 Copy 复制 Token,立即保存到安全的地方

⚠️ 重要:Bot Token 相当于 Bot 的密码,泄露后任何人都可以控制你的 Bot。一旦意外泄露(如不小心上传到 GitHub),立即回到此页面点击 Reset Token 使旧 Token 失效并生成新 Token。

第三步:开启 Privileged Gateway Intents(关键步骤)

这是90%的 Discord Bot 配置失败的根源。如果跳过这一步,你的 Bot 会上线、会出现在服务器成员列表,但完全无法读取用户发的消息,表现为静默不回复。

在 Bot 设置页面向下滚动,找到 “Privileged Gateway Intents” 部分,开启以下两个开关:

  • Message Content Intent(必须开启):让 Bot 能够读取消息内容。没有这个权限,Bot 只能看到有人发了消息,但看不到消息内容,无法做出任何回应。
  • Server Members Intent(推荐开启):让 Bot 能够查询服务器成员信息,OpenClaw 在建立白名单和权限控制时需要用到。
  • Presence Intent(可选):让 Bot 能看到成员的在线状态,非必须。

开启后,点击页面下方的 Save Changes(保存更改)。

第四步:生成 Bot 邀请链接并加入服务器

  1. 在左侧菜单点击 OAuth2,然后点击 URL Generator
  2. Scopes(作用域)部分,勾选 bot(如需斜杠命令还要勾选 applications.commands
  3. 在下方出现的 Bot Permissions(Bot 权限)部分,勾选以下权限:
  • Send Messages(发送消息)
  • Send Messages in Threads(在帖子中发消息)
  • Read Message History(读取消息历史)
  • Embed Links(嵌入链接)
  • Attach Files(附加文件)
  • Use Slash Commands(使用斜杠命令)
  • Add Reactions(添加反应,可选)

不要勾选 Administrator(管理员)权限,这超出了 OpenClaw 的实际需求,是不必要的安全风险。

  1. 复制页面底部生成的 Generated URL(邀请链接)
  2. 在浏览器新标签页粘贴这个链接,选择你的 Discord 服务器,点击 ContinueAuthorize

授权完成后,你的 Bot 会出现在服务器的成员列表中(状态为离线,这是正常的,待 OpenClaw 连接后会变为在线)。

第五步:获取必要的 Discord ID

在 OpenClaw 中配置 Discord 权限时,需要用到服务器 ID 和用户 ID。获取这些 ID 需要先开启 Discord 的开发者模式:

打开 Discord → 点击左下角用户头像旁边的齿轮图标(用户设置)→ Advanced(高级) → 开启 Developer Mode(开发者模式)

开启后:

  • 获取服务器 ID:右键点击左侧服务器图标 → Copy Server ID
  • 获取你的用户 ID:右键点击你自己的头像 → Copy User ID
  • 获取频道 ID(可选):右键点击任意频道名称 → Copy Channel ID

将这些 ID 保存备用。

第六步:在 OpenClaw 中配置 Discord

回到你的 OpenClaw 服务器终端,进行以下配置。

方式 A:通过环境变量传入 Token(推荐,更安全)

# 设置环境变量(临时,仅当前 shell 会话)
export DISCORD_BOT_TOKEN="你的BotToken"

# 通过 CLI 将环境变量引用写入配置
openclaw config set channels.discord.token \
  --ref-provider default \
  --ref-source env \
  --ref-id DISCORD_BOT_TOKEN

# 启用 Discord 频道
openclaw config set channels.discord.enabled true

将 Token 写入 shell 配置文件使其永久生效(~/.zshrc~/.bashrc):

echo 'export DISCORD_BOT_TOKEN="你的BotToken"' >> ~/.bashrc
source ~/.bashrc

方式 B:直接写入配置文件(简单,但安全性略低)

编辑 ~/.openclaw/openclaw.json

{
  "channels": {
    "discord": {
      "enabled": true,
      "token": "你的BotToken",
      "dmPolicy": "pairing",
      "guilds": {
        "你的服务器ID": {
          "requireMention": true,
          "users": ["你的用户ID"]
        }
      }
    }
  }
}

重启 Gateway

openclaw gateway restart

几秒后,你的 Bot 在 Discord 服务器中应该变为绿色在线状态。

第七步:完成配对测试

确保 Discord 服务器设置允许 Bot 给你发私信:右键点击服务器图标 → Privacy Settings(隐私设置)→ 开启 Direct Messages(允许服务器成员给你发私信)。

然后在 Discord 中给 Bot 发一条私信(DM),内容随意。如果是 pairing 模式,Bot 会回复一个配对码,在终端运行:

openclaw pairing approve discord 配对码

配对成功后,Bot 会回复确认消息。接下来尝试在服务器频道中 @你的 Bot 发一条消息,看它是否回复——如果回复了,Discord 接入全部完成!

权限配置详解

Discord 是所有通讯平台中权限配置最复杂的,值得单独详细说明。

私信(DM)权限

openclaw config set channels.discord.dmPolicy "pairing"
# 可选值:pairing | allowlist | open | disabled

服务器频道(Guild)权限

{
  "channels": {
    "discord": {
      "groupPolicy": "allowlist",
      "guilds": {
        "服务器ID": {
          "requireMention": true,
          "users": ["用户ID1", "用户ID2"],
          "channels": ["频道ID1", "频道ID2"]
        }
      }
    }
  }
}
  • requireMention: true:频道中必须 @Bot 才触发回复(强烈推荐),防止 Bot 响应所有消息
  • users:允许触发 Bot 回复的用户 ID 白名单
  • channels:限制 Bot 只在这些频道中活动

💡 建议:为 OpenClaw 创建一个专用频道(如 #ai-assistant),只在该频道开放 Bot 权限,其他频道保持禁用。这样 Bot 不会在 #general 等公共频道随意发言。

常见问题排查

Q:Bot 显示在线但发消息完全没有反应(静默)
99% 是 Message Content Intent 没有开启。回到 Discord 开发者门户 → Bot → Privileged Gateway Intents → 确认 Message Content Intent 已开启并保存。然后重启 OpenClaw Gateway:

openclaw gateway restart

Q:错误代码 4014(Disallowed intent)
Bot 尝试使用未开启的 Intent。在开发者门户开启 Message Content Intent 和 Server Members Intent,重启 Gateway。

Q:错误代码 50013(Missing Permissions)
Bot 在服务器中的角色权限不足。进入服务器设置 → 角色,将 Bot 的角色拖动到其他用户角色之上,或者直接给 Bot 角色添加缺少的权限。

Q:日志中出现”drop (mention required)”
这不是错误,是正常行为。说明有消息来了但因为没有 @Bot 而被忽略(requireMention 生效)。如果你想让 Bot 在私服中响应所有消息,将 requireMention 设为 false

Q:Bot Token 泄露了怎么办?
立即前往开发者门户 → Bot → Reset Token,生成新 Token,更新 OpenClaw 配置后重启 Gateway。

openclaw config set channels.discord.token "新的BotToken"
openclaw gateway restart

进阶:将 OpenClaw 打造成团队共享 AI 工具

Discord 的频道机制让 OpenClaw 特别适合团队使用场景:

  • #技术支持 频道部署 OpenClaw,让它回答成员的技术问题
  • #数据分析 频道让它自动拉取和汇总数据报告
  • #每日站会 频道配置定时推送,自动生成每日摘要
  • 在私人频道让它作为你的专属 AI 助理,不被其他成员看到

每个频道、每个服务器都有独立的会话上下文,不同场景的对话互不干扰。

更多配置细节,访问 OpenClaw官网中文版(通过浏览器翻译访问 openclaw.ai)或官方 Discord 频道文档 docs.openclaw.ai/channels/discord

本文内容基于 OpenClaw 官方文档、lumadock.com、oepnclaw.com 等公开资料整理,信息截至2026年3月28日。