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 对单服务器机器人的速率限制非常宽松,在正常的个人使用场景下基本不会触及。