Skip to main content
Discord 渠道通过 Gateway WebSocket 接入,机器人以长连接方式收发消息。目前 Discord 渠道的实现支持:
  • 交互式按钮确认:智能体调用需要审批的工具时,以按钮形式请求确认,点击即可批准或拒绝;
  • 多模态输入:接收用户发来的图片、文件等附件,交给智能体处理;
  • Markdown 富文本:回复支持 Markdown 渲染,单条消息上限 2000 字符,超长自动分段。
接入分三步:在 Discord 开发者门户创建应用与 Bot、拿到令牌,启动一个智能体服务承载渠道,最后在管理界面添加 Discord 渠道。

前置条件

Discord 渠道依赖 discord.py,随 channel 可选依赖安装:
安装依赖

创建 Bot

Discord 开发者门户完成 Bot 的创建与配置。
1

创建应用

点击 “New Application” 创建应用,在 “General Information” 页记录 Application ID
2

添加 Bot 并获取令牌

进入 “Bot” 页添加 Bot,点击 “Reset Token” 生成并复制 Bot Token。令牌是机密,只显示一次,请妥善保管。
3

开启 Message Content Intent

在 “Bot” 页的 “Privileged Gateway Intents” 中开启 MESSAGE CONTENT INTENT。这是读取消息文本的必要权限,不开启则收不到消息内容。
4

邀请 Bot 进服务器

在 “OAuth2 → URL Generator” 勾选 bot scope,再勾选所需权限(至少 “Send Messages” 与 “Read Message History”),用生成的链接把 Bot 邀请进你的服务器。

启动智能体服务

渠道运行在智能体服务之上。用 create_app 启动服务,并用 channels 参数声明允许接入的渠道类型。渠道依赖消息总线(message_bus),单机开发用 InMemoryMessageBus 即可,多进程或多节点部署再换成 RedisMessageBus
启动承载渠道的智能体服务

添加渠道

在智能体服务的管理界面(参见示例前端 examples/web_ui)中,通过可视化表单添加渠道,无需手写配置。
1

新建渠道并选择 Discord

在渠道管理页新建一个渠道,平台类型选择 “Discord”。
2

填入凭据

把上一步拿到的 Application IDBot Token 填入凭据表单。
3

配置路由规则

选择消息交给哪个智能体、会话如何划分。路由规则的含义见会话路由
4

保存并启用

保存后启用渠道,服务立即建立与 Discord 的连接,机器人上线。在服务器频道 @ 它,或给它发私信,即可开始对话。
管理界面的操作对应一组 /channels 接口,需要以编程方式批量创建渠道时可直接调用,字段见本章 API 部分。

平台配置

Discord 渠道有一个平台专属开关:
路由匹配 chat_type 时,服务器频道的值为 guild,私信为 dm

验证与排查

  • 在管理界面查看渠道状态,或调用 GET /channels/{id}/status 确认连接已建立。
  • 若 Bot 在服务器频道里不响应,先确认 MESSAGE CONTENT INTENT 已开启,再确认 only_at_reply 与 @ 行为符合预期。
  • 若 Bot 完全不上线,检查 Bot Token 是否正确、是否已邀请进服务器。

延伸阅读

会话路由

把不同服务器频道路由到不同的智能体。

自定义渠道

接入内置之外的其他平台。