---
title: 将 LobeHub 连接到 Discord
description: >-
  了解如何创建一个 Discord 机器人并将其连接到您的 LobeHub 代理作为消息渠道，使您的 AI 助手能够直接在 Discord
  服务器和私信中与用户互动。
tags:
  - Discord
  - 消息渠道
  - 机器人设置
  - 集成
---

# 将 LobeHub 连接到 Discord

通过将 Discord 渠道连接到您的 LobeHub 代理，用户可以直接通过 Discord 服务器频道和私信与 AI 助手互动。

## 前置条件

- 一个拥有有效订阅的 LobeHub 账户
- 一个拥有目标服务器 **管理服务器** 权限的 Discord 账户

## 第一步：创建 Discord 应用程序和机器人

<Steps>
  ### 访问 Discord 开发者门户

  ![](https://hub-apac-1.lobeobjects.space/docs/83f435317ea2c9c4a2adcbfd74301536.png)

  访问 [Discord 开发者门户](https://discord.com/developers/applications)，点击 **新建应用程序**。为您的应用程序命名（例如，“LobeHub 助手”），然后点击 **创建**。

  ### 创建机器人

  在左侧菜单中，点击 **机器人**。根据需要自定义机器人的用户名和头像。

  ### 启用特权网关意图

  ![](https://hub-apac-1.lobeobjects.space/docs/6126baa4154be45eefdad73c576723d0.png)

  在机器人设置页面，向下滚动到 **特权网关意图** 并启用以下选项：

  - **消息内容意图** — 允许机器人读取消息内容（必需）
  - **服务器成员意图** — 推荐启用，用于用户识别
  - **在线状态意图** — 可选；如果希望机器人访问用户的在线 / 离线状态，请启用

  点击 **保存更改**。

  ### 复制机器人令牌

  ![](https://hub-apac-1.lobeobjects.space/docs/e76272de65ad8db8746b1dcafeafdce8.png)

  在 **机器人** 页面，点击 **重置令牌** 以生成您的机器人令牌。复制并安全保存该令牌。

  > **重要提示：** 请将您的机器人令牌视为密码。切勿公开分享或提交到版本控制系统。

  ### 复制应用程序 ID 和公钥

  ![](https://hub-apac-1.lobeobjects.space/docs/d42901c6eb84e3e335d9a8535f317a35.png)

  在左侧菜单中，转到 **常规信息**。复制并保存以下内容：

  - **应用程序 ID**
  - **公钥**

  您将在下一步中需要这三个值（机器人令牌、应用程序 ID、公钥）。
</Steps>

## 第二步：在 LobeHub 中配置 Discord

<Steps>
  ### 打开渠道设置

  在 LobeHub 中，导航到您的代理设置，然后选择 **渠道** 标签。点击平台列表中的 **Discord**。

  ### 填写凭据

  ![](https://hub-apac-1.lobeobjects.space/docs/c5ced26ea287ee215a9dc385367c1083.png)

  输入以下字段：

  - **应用程序 ID** — 来自 Discord 应用程序常规信息页面的应用程序 ID
  - **机器人令牌** — 您之前生成的机器人令牌
  - **公钥** — 来自 Discord 应用程序的公钥，用于交互验证

  您的令牌将被加密并安全存储。

  ### 保存配置

  点击 **保存配置**。您的凭据将被保存，LobeHub 将开始监听 Discord 事件。
</Steps>

## 第三步：邀请机器人加入您的服务器

<Steps>
  ### 生成邀请链接

  ![](https://hub-apac-1.lobeobjects.space/docs/5e8a93f33e085a187deddb87704f0bd3.png)

  在 Discord 开发者门户中，转到 **OAuth2** → **URL 生成器**。选择以下范围：

  - `bot`
  - `applications.commands`

  在 **机器人权限** 下选择：

  - 查看频道
  - 阅读消息历史记录
  - 发送消息
  - 创建公共子区
  - 在子区内发送消息
  - 嵌入链接
  - 添加文件
  - 添加反应（可选）

  ### 授权机器人

  ![](https://hub-apac-1.lobeobjects.space/docs/2f6350e6bfe770e0e64b18762af3b63e.webp)

  复制生成的链接，在浏览器中打开，选择您希望添加机器人的服务器，然后点击 **授权**。

  > **私有频道需要单独授权。** 服务器层级的授权只会给机器人分类 / 服务器的默认权限。如果某个频道开启了 **Private Channel（私有频道）**，Discord 会忽略机器人在服务器层级的角色，机器人在该频道收不到任何事件（包括 @提及），直到你在频道的 **设置 → Permissions（权限）** 中点击 **Add members or roles**，把机器人本身或它持有的角色加进来。也可以直接点 **Sync Now** 让频道继承分类的权限。
</Steps>

## 第四步：测试连接

返回 LobeHub 的 Discord 渠道设置，点击 **测试连接** 以验证配置是否正确。然后在 Discord 中向您的机器人发送消息，确认其是否响应。

## 第五步：填写你的平台身份（推荐）

**高级设置**里有两个可选字段，影响着日常使用体验，建议一开始就填好。

### 你的平台用户 ID

也就是你自己的 Discord 用户 ID，用于：

- **配对审批** — 当 **私信策略** 为 **配对审批** 时为必填项，`/approve <code>` 是属主命令，runtime 会用这个 ID 校验发起人。
- **AI 工具主动推送** — 让 Agent 能主动联系你（提醒、通知），把内部用户引用映射到你的 Discord 账号。
- **防自锁** — 自动被 **允许的用户** 信任，给好友收紧 bot 时不会把自己挡在外面。

获取方式：在 Discord 中打开 **用户设置 → 高级**，启用 **开发者模式**。然后在任意位置右键你自己的用户名，选 **复制用户 ID**。把数字 ID 粘贴到 LobeHub 高级设置的 **你的平台用户 ID** 字段。

### 默认服务器

Discord 的 guild ID。当你让 bot 做 "列出频道"、"发送到 #announcements" 这类需要服务器上下文但没指明哪台的事时，AI 工具会默认用这个 server。和访问控制无关 —— 那是 **群组策略** 的活。

获取方式：在 **开发者模式** 已开启的情况下，在服务器列表中右键服务器名，选 **复制服务器 ID**。粘贴到 LobeHub 高级设置的 **默认服务器** 字段。

## 接入策略

LobeHub 通过三层叠加配置控制入站消息，全部位于 **高级设置**，默认都为宽松。

### 允许的用户 ID（全局）

**全局**用户级闸门。填入后，**只有**列表里的用户可以与机器人交互 — 私信、群聊 @、子话题，所有入口都生效，不受 DM Policy / Group Policy 模式影响。留空则不做用户级过滤，交给各 scope 自己的策略决定。在 **设置 → 高级** 启用开发者模式后，右键用户 → **复制用户 ID** 即可获取。

非白名单用户的私信会收到 "你没有权限" 的系统提示。群里被 @ 时也会收到类似提示，但是**发到 Discord 因 @ 自动创建的回复 thread 里**，不会污染父频道。

### 私信策略

控制 1:1 私聊。

- **开放 (Open)（默认）** — 任何与机器人共享服务器的用户都可以私信（若设置了全局白名单则受其约束）。
- **白名单 (Allowlist)** — 私信需要发送者在 **允许的用户 ID** 里。和 `Open` 的差别在白名单为空时：`Allowlist` 模式**全部拒绝**，`Open` 模式仍然放任何人私信。
- **配对审批 (Pairing)** — 与 `Allowlist` 共享同一份名单，但非名单用户被拒后会收到一次性配对码，由你（属主）通过 `/approve <code>` 审批。审批通过的用户会被自动追加到 **允许的用户 ID**，后续 DM 直通。需先填 **你的平台用户 ID**（runtime 用它校验 `/approve` 发起人），并需要部署 Redis。
- **禁用 (Disabled)** — 机器人忽略所有私信，发起方会收到一条提示，引导其在共享频道里 @机器人。

> Discord 机器人可被任意共享服务器的用户私信，如果你的机器人是私有用途，建议填入 **允许的用户 ID**、把私信策略切到 **配对审批** 让陌生人走自助申请通道，或干脆设为 **禁用**。

### 群组策略

控制服务器频道与子话题里的 @提及。

- **开放 (Open)（默认）** — 在机器人能读取的任何频道里被 @就响应。
- **白名单 (Allowlist)** — 只在 **允许的频道 ID** 列出的频道里响应。右键频道 → **复制频道 ID** 即可获取。
- **禁用 (Disabled)** — 忽略所有服务器频道流量，只接受私信。

> 两个策略相互独立。你可以做纯私信机器人（`groupPolicy=disabled`）、纯频道机器人（`dmPolicy=disabled`），也可以两边都用白名单收紧范围。

跨平台细节见 [渠道概览](/docs/usage/channels/overview#direct-message-policy)。

## 配置参考

| 字段           | 是否必需 | 描述                                                         |
| ------------ | ---- | ---------------------------------------------------------- |
| **应用程序 ID**  | 是    | 您的 Discord 应用程序的 ID                                        |
| **机器人令牌**    | 是    | 您的 Discord 机器人的认证令牌                                        |
| **公钥**       | 是    | 用于验证来自 Discord 的交互请求                                       |
| **允许的用户 ID** | 否    | 逗号或空格分隔的 Discord 用户 ID。全局闸门 — 私信和群聊 @ 都受其约束                |
| **私信策略**     | 否    | `open`（默认）、`allowlist`、`pairing` 或 `disabled` — 控制谁可以私信机器人 |
| **群组策略**     | 否    | `open`（默认）、`allowlist` 或 `disabled` — 控制机器人在哪些频道响应         |
| **允许的频道 ID** | 否    | 逗号或空格分隔的 Discord 频道 ID。仅在群组策略为白名单时使用                       |

## 故障排除

- **机器人未在服务器中响应：** 确认机器人已被邀请到服务器并拥有正确的权限，同时启用了消息内容意图。如果 **群组策略** 是 `Disabled` 或 `Allowlist`，确认目标频道在 **允许的频道 ID** 列表里。如果 **允许的用户 ID** 已填，发送者的用户 ID 必须在列表里。
- **某个频道里 @不到机器人：** 通常是因为该频道是 **Private Channel（私有频道）**。Discord 会丢弃所有未被显式加入频道权限列表的用户 / 机器人的事件，无论他们在服务器层级是什么角色。打开该频道的 **设置 → Permissions（权限）**，点击 **Add members or roles**，把机器人或它持有的角色加进来；或者点 **Sync Now** 让频道继承父分类的权限。一个快速肉眼判断：输入 `@<机器人名>` 时如果出现的机器人名字没有下划线 / 链接样式，说明 Discord 认为它无权访问该频道。
- **机器人不回私信：** 打开 **高级设置**，确认 **私信策略** 不是 `Disabled`。如果 **允许的用户 ID** 已填，确认发起方的 Discord 用户 ID 在列表里。
- **测试连接失败：** 仔细检查应用程序 ID、机器人令牌和公钥是否正确。
