ChatHub/docs

搜索文档

为你推荐200 条结果

在已发布文章中搜索 · 按小节

将 Discord 机器人接入 ChatHub 收件箱

创建 Discord 应用、获取机器人令牌、开启消息内容权限、把机器人邀请进服务器,然后在 ChatHub 中添加 Discord 渠道,在统一收件箱中接收并回复消息。

本文解决什么问题#

ChatHub 的 Discord 渠道会接收客户发给机器人的私信,以及服务器文字频道中的消息,客服可以直接在统一收件箱中回复,并支持附件、引用回复、按钮和撤回已发送的消息。

与其他渠道不同,Discord 不通过 webhook 推送消息。ChatHub 会主动与 Discord 建立一条长连接并保持在线,因此这套系统不需要公网 HTTPS 域名:位于 NAT 之后或内网中的服务器同样能收全消息。

Discord 一侧的配置都在开发者后台完成,大约需要十分钟。你需要拥有目标 Discord 服务器的管理权限,因为邀请机器人这一步需要“管理服务器”权限。

文中截图取自显示为越南语的开发者后台,因为后台语言跟随 Discord 账号设置。若你的账号使用英文,对应按钮为 New Application、Reset Token、Message Content Intent 等,位置与顺序完全一致。

1. 开始之前的准备#

  1. 1

    一个已验证邮箱的 Discord 账号,用于登录 discord.com/developers/applications 开发者后台。

  2. 2

    一个你拥有“管理服务器”权限的 Discord 服务器。如果只是想先试用,可以在 Discord 应用中免费新建一个服务器。

  3. 3

    ChatHub 的管理员权限,以便打开“渠道”页面并添加账号。

Discord 机器人无法主动找到客户:给它发消息的人必须和它在同一个服务器里。这一点与 Zalo 或 Telegram 不同,请先准备好客户实际活跃的服务器。

2. 创建应用与机器人#

  1. 1

    打开 discord.com/developers/applications 并登录 Discord 账号。

  2. 2

    点击右上角的“新建应用”(New Application)。

  3. 3

    在“创建新应用”对话框中填写“名称”——这个名称就是客户看到的机器人名字——勾选同意条款后点击“创建”。

  4. 4

    Discord 可能要求验证你不是机器人;完成验证后应用才会创建成功。

  5. 5

    在左侧菜单中打开 Bot。新建的应用已自带一个机器人,这个页面用于设置它的头像和显示名称。

点击“新建应用”后出现的对话框:填写名称、勾选条款,然后点击“创建”。截图拍摄于点击创建之前,名称仅为示例。界面为越南语。
此处设置的名称和头像正是 ChatHub 连接后读取的内容,请使用真实品牌信息,让客户在聊天窗口中一眼就能认出。

3. 获取机器人令牌#

机器人令牌是该渠道唯一的密钥:拿到它的人可以在机器人所在的所有服务器中读取和发送消息。Discord 只在重置后显示一次令牌,所以请立即复制并粘贴到 ChatHub。

  1. 1

    仍在 Bot 页面,找到 Token 区域并点击“重置令牌”(Reset Token)。Discord 会要求确认;若账号开启了两步验证,还会要求输入验证码。

  2. 2

    复制刚显示出来的令牌。

  3. 3

    按本文第 6 步粘贴到 ChatHub 之后再离开页面。如果不慎关闭页面,只需再次重置令牌——旧令牌会在那一刻立即失效。

  4. 4

    如果希望只有你才能邀请机器人进入服务器,关闭下方的“公开机器人”(Public Bot)开关并保存。

Token 区域位于机器人用户名下方,重置令牌按钮就是获取密钥的入口。截图拍摄于点击按钮之前,因此没有出现任何真实令牌。界面为越南语。
不要通过聊天、邮件或截图发送令牌。ChatHub 在保存前使用 AES-256-GCM 加密,并且不会再次显示,管理员也看不到。

4. 开启消息内容权限#

Discord 将消息内容视为敏感数据,因此默认情况下机器人只知道有消息,却看不到文字。缺少这一步,渠道仍能连接成功,但收件箱收不到任何消息——ChatHub 会明确写出这个原因。

  1. 1

    在 Bot 页面向下滚动到“特权网关意图”(Privileged Gateway Intents)。

  2. 2

    打开“消息内容意图”(Message Content Intent)开关。

  3. 3

    点击页面底部提示条中的“保存更改”,并等待更新成功的提示。

只需打开最下方的“消息内容意图”开关,上面两个保持关闭。打开后页面底部会出现保存提示条;截图拍摄于保存之前。界面为越南语。
另外两个开关——在线状态意图和服务器成员意图——ChatHub 不使用,保持关闭即可。消息内容意图只有在机器人加入的服务器少于 100 个时才能自助开启;超过之后 Discord 要求提交审核,而企业自用的机器人几乎不会达到这个数量。

5. 把机器人邀请进服务器#

机器人只能读取它所在且有权限的频道。这一步会生成一条带有最小权限集合的邀请链接。

  1. 1

    在左侧菜单中打开 OAuth2,向下滚动到“OAuth2 URL 生成器”区域。

  2. 2

    在“范围”(Scopes)中勾选 bot。

  3. 3

    在随即出现的“机器人权限”中,勾选“查看频道”(常规权限列)以及“发送消息”“添加附件”“阅读消息历史”(文字权限列)。

  4. 4

    复制页面底部“生成的 URL”中的链接,在浏览器中打开,选择目标服务器并确认授权。

  5. 5

    打开 Discord 确认:机器人应当出现在该服务器的成员列表中。

需要勾选的四项权限:左列的“查看频道”,右列的“添加附件”和“阅读消息历史”;“发送消息”位于同一列更靠上的位置,未进入截图范围。界面为越南语。
邀请链接出现在页面底部的“生成的 URL”框中。正好勾选这四项权限时,链接会带有 permissions=101376,可用于快速核对。界面为越南语。
上述四项权限足以支撑在线客服。请勿授予管理员权限:令牌一旦泄露,整个服务器都会沦陷,而最小权限集合只允许读取和回复消息。

6. 在 ChatHub 中添加 Discord 渠道#

  1. 1

    在 ChatHub 中进入“管理 → 渠道”,点击右上角的“添加账号”。

  2. 2

    在对话框的渠道类型一栏中滚动到底部,选择 Discord。

  3. 3

    填写便于识别的渠道名称,例如“社区 Discord”——该名称只在 ChatHub 内部用于区分同类渠道。

  4. 4

    把机器人令牌粘贴到 Bot token 输入框。ChatHub 会立即校验令牌格式,粘贴不完整时会给出提示。

  5. 5

    点击“创建账号”。渠道配置对话框打开,此时状态为“已断开”。

  6. 6

    点击“连接”。几秒后状态变为“运行中”,渠道名称和头像会被替换成机器人自身的名称与图片。

Discord 位于渠道类型列表的最下方。选中后会出现 Bot token 输入框,以及提醒开启消息内容意图的下一步说明。截图中令牌框为空。界面为越南语。
如果 ChatHub 以多进程运行,Discord 连接由 worker 进程持有。在界面上点击“连接”依然有效:请求会转交给 worker,结果会直接返回到当前屏幕。

7. 验证与常见报错#

  1. 1

    在 Discord 中,向机器人可见的文字频道发一条消息,或直接私信机器人。

  2. 2

    打开 ChatHub 的“消息”页面:新会话会出现,头像角上带有 Discord 标识。

  3. 3

    从 ChatHub 回复,并确认消息出现在 Discord 中正确的位置。

出现问题时,ChatHub 会把原因直接写在渠道卡片上,而不是丢出 Discord 的原始错误码:

  1. 1

    Discord 拒绝了该机器人令牌——令牌被再次重置,保存的这一份已失效。请获取新令牌并重新创建渠道。

  2. 2

    机器人尚未开启消息内容权限——回到第 4 步,打开消息内容意图。

  3. 3

    机器人在该频道没有权限——在 Discord 中打开频道设置的“权限”页,为机器人的身份组授予第 5 步列出的权限。

  4. 4

    该用户不接收机器人的私信——对方必须与机器人在同一服务器,并在 Discord 隐私设置中允许接收服务器成员的私信。

8. 适用范围与限制#

  1. 1

    群聊消息:配置对话框中的“同步群组消息”开关决定服务器文字频道是否进入收件箱。关闭后只保留私信。频道发出第一条消息后,也可以单独排除某个频道。

  2. 2

    同步历史消息:只能拉取服务器文字频道中的消息,每个频道最多 200 条,每次最多 500 个频道。历史私信无法拉取,因为 Discord 不允许机器人列出自己的私信列表。

  3. 3

    长消息:Discord 单条消息上限为 2000 字符,更长的回复会被 ChatHub 自动拆分成多条连续消息。

  4. 4

    附件:未加速的服务器上限为 25 MB。客户发送的文件会在收到时立即复制到 ChatHub 存储,因为 Discord 的附件链接大约一天后就会失效。

  5. 5

    提及:ChatHub 发出的消息永远不会触发 @everyone 或 @here,即使正文中包含这些字样。

  6. 6

    其他机器人和 webhook 发送的消息不会进入收件箱,以免两个机器人在同一频道里互相回复形成死循环。

  7. 7

    Discord 不向机器人提供已读回执,因此收件箱不会显示客户是否已查看消息。

延伸阅读:ChatHub 支持的渠道类型 ↗

将 Discord 机器人接入 ChatHub 收件箱回到顶部
© 2026 ChatHub DocsPowered by CMSNT LTDChatHub 使用文档。