N8N中文教程
集成节点/Built in_nodes/Credentials

Discord 凭据#

你可以使用这些凭据来认证以下节点:

  • Discord

前提条件#

  • 创建一个 Discord 账户。
  • 对于 Bot 和 OAuth2 凭据:
    • 设置本地开发环境。
    • 创建一个应用和一个机器人用户。
  • 对于 Webhook 凭据,请创建一个 Webhook。

支持的认证方式#

  • Bot(机器人)
  • OAuth2
  • Webhook

不确定该使用哪种方式?请参考选择认证方式获取更多指导。

相关资源#

更多服务相关信息,请参阅 Discord 开发者文档。

使用 Bot(机器人)#

如果你希望通过机器人令牌(Bot Token)而非 OAuth2 将机器人添加到你的 Discord 服务器,应使用此方法。 要配置此凭据,你需要:

  • 一个 Bot Token(机器人令牌):在创建带有机器人的应用后生成。

要创建一个包含机器人的应用程序并生成 Bot Token,请按照以下步骤操作:

  1. 如果尚未创建,请在 开发者门户 中创建一个应用。

  2. 为你的应用输入一个 名称(Name)

  3. 选择 创建(Create)

  4. 在左侧菜单中选择 机器人(Bot)

  5. Token(令牌) 部分,选择 重置令牌(Reset Token) 以生成新的机器人令牌。

  6. 复制生成的令牌,并将其添加到你的 n8n 凭据中。

  7. 机器人 > 特权网关意图(Bot > Privileged Gateway Intents) 中,添加你希望机器人拥有的任何特权意图。有关特权意图的更多信息,请参考 配置你的机器人。

    • n8n 建议启用 服务器成员意图(SERVER MEMBERS INTENT):使机器人能够接收 GUILD_MEMBERS 下列出的事件所必需
  8. 安装 > 安装上下文(Installation > Installation Contexts) 中,选择你希望机器人使用的安装类型:

    • 选择 服务器安装(Guild Install) 用于服务器级安装的应用。(n8n 用户最常用。)
    • 选择 用户安装(User Install) 用于用户级安装的应用。(n8n 用户较少使用,但可用于测试。)
    • 更多关于这些安装类型的说明,请参阅 Discord 的 选择安装上下文 文档。
  9. 安装 > 安装链接(Installation > Install Link) 中,如果尚未选中,请选择 Discord 提供的链接(Discord Provided Link)

  10. 仍在 安装(Installation) 页面,在 默认安装设置(Default Install Settings) 部分,勾选 applications.commandsbot 作用域(scopes)。有关这些及其他作用域的更多信息,请参考 Discord 的 作用域(Scopes) 文档。

  11. 机器人 > 机器人权限(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)
  12. 将应用添加到你的服务器或测试服务器:

  13. 进入 安装 > 安装链接(Installation > Install Link),复制其中显示的链接。

  14. 将该链接粘贴到浏览器地址栏并回车。

  15. 在安装提示中选择 添加到服务器(Add to server)

  16. 成功将应用添加到服务器后,你可以在成员列表中看到它。

这些步骤概述了设置 n8n 凭据所需的基本功能。有关创建应用的更多信息,请参考 Discord 创建应用 指南,特别是:

  • 获取你的凭据,将应用的凭据导入本地开发环境。
  • 处理交互性,了解如何设置公共端点以支持交互式 /slash 命令。

使用 OAuth2#

如果你希望通过 OAuth2 流程将机器人添加到 Discord 服务器,应使用此方法,该方式可简化应用安装者的操作流程。 要配置此凭据,你需要准备以下内容:

  • Client ID(客户端 ID)
  • Client Secret(客户端密钥)
  • 选择将 Authentication(认证信息)发送至 Header(头部)还是 Body(请求体)
  • Bot Token(机器人令牌)

有关创建包含机器人的应用并生成令牌的详细步骤,请参见上方的 使用机器人 (Using bot) 部分。 然后执行以下操作:

  1. 复制你生成的 Bot Token,并将其添加到 n8n 的凭据中。
  2. 打开 Discord 应用中的 OAuth2 页面,获取你的 Client ID 并生成一个 Client Secret,然后将这两项添加到 n8n 凭据中。
  3. 从 n8n 中复制 OAuth Redirect URL(OAuth 重定向 URL),并将其添加到 Discord 应用的 OAuth2 > Redirects(重定向地址)字段中。请确保保存更改。

使用 Webhook#

要配置此凭据,你需要:

  • Webhook URL(Webhook 地址):在创建 webhook 后生成。

要获取 Webhook URL,请按以下步骤创建 webhook 并复制生成的 URL:

  1. 打开你的 Discord 服务器设置(Server Settings),进入 集成(Integrations)选项卡。
  2. 选择 创建 Webhook(Create Webhook)来新建一个 webhook。
  3. 为你的 webhook 设置一个有意义的 名称(Name)。
  4. 点击 名称 旁边的 头像(avatar)区域,可编辑或上传新的头像。
  5. CHANNEL(频道)下拉菜单中,选择 webhook 发送消息的目标频道。
  6. 点击 复制 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 在服务器上的安装过程。