Back to Lobehub

将 LobeHub 连接到 Discord

docs/usage/channels/discord.zh-CN.mdx

2.1.567.4 KB
Original Source

将 LobeHub 连接到 Discord

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

前置条件

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

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

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

访问 Discord 开发者门户,点击 新建应用程序。为您的应用程序命名(例如,“LobeHub 助手”),然后点击 创建

创建机器人

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

启用特权网关意图

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

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

点击 保存更改

复制机器人令牌

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

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

复制应用程序 ID 和公钥

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

  • 应用程序 ID
  • 公钥

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

第二步:在 LobeHub 中配置 Discord

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

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

填写凭据

输入以下字段:

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

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

保存配置

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

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

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

在 Discord 开发者门户中,转到 OAuth2URL 生成器。选择以下范围:

  • bot
  • applications.commands

机器人权限 下选择:

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

授权机器人

复制生成的链接,在浏览器中打开,选择您希望添加机器人的服务器,然后点击 授权</Steps>

第四步:测试连接

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

接入策略

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

允许的用户 ID(全局)

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

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

私信策略

控制 1:1 私聊。

  • 开放 (Open)(默认) — 任何与机器人共享服务器的用户都可以私信(若设置了全局白名单则受其约束)。
  • 白名单 (Allowlist) — 私信需要发送者在 允许的用户 ID 里。和 Open 的差别在白名单为空时:Allowlist 模式全部拒绝Open 模式仍然放任何人私信。
  • 禁用 (Disabled) — 机器人忽略所有私信,发起方会收到一条提示,引导其在共享频道里 @机器人。

Discord 机器人可被任意共享服务器的用户私信,如果你的机器人是私有用途,建议填入 允许的用户 ID 或将私信策略切到 禁用

群组策略

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

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

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

跨平台细节见 渠道概览

配置参考

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

故障排除

  • 机器人未在服务器中响应: 确认机器人已被邀请到服务器并拥有正确的权限,同时启用了消息内容意图。如果 群组策略DisabledAllowlist,确认目标频道在 允许的频道 ID 列表里。如果 允许的用户 ID 已填,发送者的用户 ID 必须在列表里。
  • 机器人不回私信: 打开 高级设置,确认 私信策略 不是 Disabled。如果 允许的用户 ID 已填,确认发起方的 Discord 用户 ID 在列表里。
  • 测试连接失败: 仔细检查应用程序 ID、机器人令牌和公钥是否正确。