技能
消息通讯 官方

Discord

将 Discord 添加为消息通道。支持文字频道的附件发送和回复上下文。

功能特性

  • 通过 Bot API 将 NanoClaw 连接到 Discord
  • 支持文字频道、附件和回复上下文
  • 可与其他通道并行使用,也可独立运行
  • Message Content Intent 实现完整的消息访问
  • OAuth2 机器人邀请流程

前置条件

  • 已安装并运行 NanoClaw
  • 一个 Discord 账号
  • Discord Developer Portal 访问权限
  • Bot token 已获取且 Message Content Intent 已启用

安装

/add-discord

工作原理

/add-discord 技能将 NanoClaw 设置为 Discord 机器人,能够在你的服务器中读取和回复消息。该技能会完成代码变更,引导你在 Discord Developer Portal 中创建机器人,并注册机器人活跃的频道。

技能首先检查你的 NanoClaw 安装,然后通过技能引擎应用 DiscordChannel 类。这会添加 discord.js 依赖、创建频道适配器,并将其集成到 NanoClaw 的消息处理管道中,与你已有的其他通道共同运行。

接下来你需要在 Discord Developer Portal 中创建一个机器人。技能会引导你完成每一步:创建新应用、生成 bot token、启用 Message Content Intent(读取消息文本所必需),以及构建具有正确权限的 OAuth2 邀请链接。你将邀请链接粘贴到浏览器中,选择服务器,机器人即加入。

机器人加入服务器后,你需要获取目标文字频道的 Channel ID。在 Discord 的开发者模式下(在设置中启用),你可以右键点击任何频道来复制其 ID。将 ID 粘贴到技能中,它会将该频道注册到数据库。

技能最后会执行一个验证步骤——在已注册的频道中发送一条测试消息,确认机器人已连接并能正常响应。

功能特性

Discord 设置完成后,NanoClaw 支持以下平台特有的功能:

  • 附件 — 机器人可以接收和处理频道中发送的文件、图片及其他附件。
  • 回复上下文 — 当你回复某条消息时,机器人能看到原始消息作为上下文。
  • @提及转换 — Discord 的用户提及会被转换为可读的名称,便于智能体理解。
  • 消息拆分 — 较长的智能体回复会自动拆分,以符合 Discord 的字符限制。
  • 输入指示器 — 智能体处理消息时,机器人会显示”正在输入…”。

频道模式

与其他 NanoClaw 通道一样,Discord 支持主通道和仅触发通道两种注册方式。主通道提供完整的双向通信。仅触发通道向智能体发送指令,但通过你的主通道(WhatsApp、Telegram 或另一个 Discord 频道)接收回复。

如果你想用一个专门的 Discord 频道来发送指令,同时将对话保留在另一个应用中,这个功能就非常实用。

使用建议

  • Message Content Intent 是一项特权 Intent,必须在 Developer Portal 中明确启用。未启用时,机器人对非命令和非提及的消息只能收到空内容。
  • 在 NanoClaw 当前的实现中,Discord 机器人只能在服务器(Guild)中运行,不支持私信。
  • 如果机器人在服务器中显示为离线,请检查 token 是否正确以及机器人在该频道是否拥有所需权限。
  • Discord 对单服务器机器人的速率限制非常宽松,在正常的个人使用场景下基本不会触及。