Discord 凭据#
你可以使用这些凭据来认证以下节点:
- Discord
前提条件#
- 创建一个 Discord 账户。
- 对于 Bot 和 OAuth2 凭据:
- 设置本地开发环境。
- 创建一个应用和一个机器人用户。
- 对于 Webhook 凭据,请创建一个 Webhook。
支持的认证方式#
- Bot(机器人)
- OAuth2
- Webhook
不确定该使用哪种方式?请参考选择认证方式获取更多指导。
相关资源#
更多服务相关信息,请参阅 Discord 开发者文档。
使用 Bot(机器人)#
如果你希望通过机器人令牌(Bot Token)而非 OAuth2 将机器人添加到你的 Discord 服务器,应使用此方法。 要配置此凭据,你需要:
- 一个 Bot Token(机器人令牌):在创建带有机器人的应用后生成。
要创建一个包含机器人的应用程序并生成 Bot Token,请按照以下步骤操作:
-
如果尚未创建,请在 开发者门户 中创建一个应用。
-
为你的应用输入一个 名称(Name)。
-
选择 创建(Create)。
-
在左侧菜单中选择 机器人(Bot)。
-
在 Token(令牌) 部分,选择 重置令牌(Reset Token) 以生成新的机器人令牌。
-
复制生成的令牌,并将其添加到你的 n8n 凭据中。
-
在 机器人 > 特权网关意图(Bot > Privileged Gateway Intents) 中,添加你希望机器人拥有的任何特权意图。有关特权意图的更多信息,请参考 配置你的机器人。
- n8n 建议启用 服务器成员意图(SERVER MEMBERS INTENT):使机器人能够接收 GUILD_MEMBERS 下列出的事件所必需。
-
在 安装 > 安装上下文(Installation > Installation Contexts) 中,选择你希望机器人使用的安装类型:
- 选择 服务器安装(Guild Install) 用于服务器级安装的应用。(n8n 用户最常用。)
- 选择 用户安装(User Install) 用于用户级安装的应用。(n8n 用户较少使用,但可用于测试。)
- 更多关于这些安装类型的说明,请参阅 Discord 的 选择安装上下文 文档。
-
在 安装 > 安装链接(Installation > Install Link) 中,如果尚未选中,请选择 Discord 提供的链接(Discord Provided Link)。
-
仍在 安装(Installation) 页面,在 默认安装设置(Default Install Settings) 部分,勾选
applications.commands和bot作用域(scopes)。有关这些及其他作用域的更多信息,请参考 Discord 的 作用域(Scopes) 文档。 -
在 机器人 > 机器人权限(Bot > Bot Permissions) 页面中添加权限。更多权限信息请参考 Discord 的 权限文档(Permissions)。n8n 建议为 Discord 节点选择以下权限:
- 管理角色(Manage Roles)
- 管理频道(Manage Channels)
- 读取消息 / 查看频道(Read Messages/View Channels)
- 发送消息(Send Messages)
- 创建公开主题(Create Public Threads)
- 创建私密主题(Create Private Threads)
- 在主题中发送消息(Send Messages in Threads)
- 发送文字转语音消息(Send TTS Messages)
- 管理消息(Manage Messages)
- 管理主题(Manage Threads)
- 嵌入链接(Embed Links)
- 上传文件(Attach Files)
- 读取消息历史(Read Message History)
- 添加反应(Add Reactions)
-
将应用添加到你的服务器或测试服务器:
-
进入 安装 > 安装链接(Installation > Install Link),复制其中显示的链接。
-
将该链接粘贴到浏览器地址栏并回车。
-
在安装提示中选择 添加到服务器(Add to server)。
-
成功将应用添加到服务器后,你可以在成员列表中看到它。
这些步骤概述了设置 n8n 凭据所需的基本功能。有关创建应用的更多信息,请参考 Discord 创建应用 指南,特别是:
- 获取你的凭据,将应用的凭据导入本地开发环境。
- 处理交互性,了解如何设置公共端点以支持交互式
/slash命令。
使用 OAuth2#
如果你希望通过 OAuth2 流程将机器人添加到 Discord 服务器,应使用此方法,该方式可简化应用安装者的操作流程。 要配置此凭据,你需要准备以下内容:
- Client ID(客户端 ID)
- Client Secret(客户端密钥)
- 选择将 Authentication(认证信息)发送至 Header(头部)还是 Body(请求体)
- Bot Token(机器人令牌)
有关创建包含机器人的应用并生成令牌的详细步骤,请参见上方的 使用机器人 (Using bot) 部分。 然后执行以下操作:
- 复制你生成的 Bot Token,并将其添加到 n8n 的凭据中。
- 打开 Discord 应用中的 OAuth2 页面,获取你的 Client ID 并生成一个 Client Secret,然后将这两项添加到 n8n 凭据中。
- 从 n8n 中复制 OAuth Redirect URL(OAuth 重定向 URL),并将其添加到 Discord 应用的 OAuth2 > Redirects(重定向地址)字段中。请确保保存更改。
使用 Webhook#
要配置此凭据,你需要:
- Webhook URL(Webhook 地址):在创建 webhook 后生成。
要获取 Webhook URL,请按以下步骤创建 webhook 并复制生成的 URL:
- 打开你的 Discord 服务器设置(Server Settings),进入 集成(Integrations)选项卡。
- 选择 创建 Webhook(Create Webhook)来新建一个 webhook。
- 为你的 webhook 设置一个有意义的 名称(Name)。
- 点击 名称 旁边的 头像(avatar)区域,可编辑或上传新的头像。
- 在 CHANNEL(频道)下拉菜单中,选择 webhook 发送消息的目标频道。
- 点击 复制 Webhook URL(Copy Webhook URL)以复制地址,并将该 URL 输入到你的 n8n 凭据中。
有关更多信息,请参阅 Discord 创建 Webhook 文档。
选择认证方式#
最简单的安装方式是使用 webhook。你可以在 Discord 服务器的某个频道中创建并添加 webhook。Webhook 能够向频道发送消息,且无需机器人用户(bot user)或身份验证。但它无法监听或响应用户的请求或命令。如果你只需要一种简单直接的方式将消息发送到频道,而不需要交互或反馈,那么可以使用 webhook。
Bot(机器人) 是比 webhook 更进一步的交互式方案。你可以将 bot 添加到 Discord 服务器(在 Discord API 文档中称为 guild)或用户账户中。添加到服务器的 bot 可以与该服务器所有频道中的用户进行交互,能够管理频道、发送和获取消息、获取所有用户列表,并更改用户角色。如果你需要构建一个具有交互性、复杂或包含多个步骤的工作流,请使用 bot。
OAuth2 本质上是一种使用 OAuth2 流程而非仅使用 bot token 的 bot。与普通 bot 一样,你可以将其添加到 Discord 服务器或用户账户中。此类凭据提供的功能与 bot 相同,但可以通过 OAuth2 授权流程简化 bot 在服务器上的安装过程。