這篇文章將會教你如何在 n8n 中設置 Discord Trigger,以及設置 n8n Discord Credentials,讓你製作的 Discord Bot 能夠做到更多事情,像是 AI 客服、指令交互等!

前情提要

由於 n8n 官方並沒有支援 Discord Trigger,所以我在社群節點中找到可行的方法,並整理成完整的圖文教學,給想在 n8n 製作 Discord Bot 的你!

參考的 Repo 來源:

GitHub - katerlol/n8n-discord-trigger: A n8n node that triggers based on discord events such as messages sent to channels.
A n8n node that triggers based on discord events such as messages sent to channels. - katerlol/n8n-discord-trigger

n8n 新增 Discord Trigger

第一步:安裝社群節點

首先打開 n8n,點擊左下角進入 Settings

n8n Discord Trigger 與憑證設置教學 01

接著點擊 Community nodes > install > 輸入 n8n-nodes-discord-trigger > 勾選確認點擊 Install

⚠️
注意:如果更新社群節點,則需要重新放置 Discord Trigger,建議更新前先自行評估!
n8n Discord Trigger 與憑證設置教學 02

還沒有自己的 n8n 可以參考下方這篇文章安裝 ⬇️

n8n 自架部署教學|教你用 5 分鐘、5 美金,換來無限自動化自由!
完整介紹使用 Zeabur 自架部署 n8n,附上完整的部署過程圖文,讓你一步步搭建屬於你的自動化工作流平台。

第二步:新增 Discord Bot

到 Discord Developer Portal 登入後,點擊右上角 New Applications,

n8n Discord Trigger 與憑證設置教學 03

第三步:調整設置

接下來是關於 Discord Bot 的設置,跟著圖片教學一步步完成,因為要設定的細節有點多!

  1. 點擊左側 Installation > 將 Install Link 設置為 None > 點擊 Save Changes 儲存
n8n Discord Trigger 與憑證設置教學 04
  1. 點擊左側 Bot,將參數開關調整為以下設置:
  • Authorization Flow(全關)
    • PUBLIC BOT:關閉
    • REQUIRES OAUTH2 CODE GRANT:關閉
  • Privileged Gateway Intents(全開)
    • PRESENCE INTENT:開啟
    • SERVER MEMBERS INTENT:開啟
    • MESSAGE CONTENT INTENT:開啟
n8n Discord Trigger 與憑證設置教學 05
  1. 打開 n8n,點擊新增 Credentials,選擇 Discord OAuth2 API,複製 OAuth Redirect URL,接著回到 Discord Developer Portal
n8n Discord Trigger 與憑證設置教學 06
  1. 點擊左側 OAuth2 > 在 Redirects 欄位填入你剛剛複製的那串 URL,點擊儲存
  2. 接著在下方會看到 OAuth2 URL Generator
    1. SCOPES 勾選 bot 與 applications.commands
    2. BOT PERMISSIONS 勾選 Administrator
    3. 複製 GENERATED URL 並貼上到瀏覽器執行,就會跳轉到把 Bot 加到 Discord 群組的畫面,選擇你要加的伺服器
n8n Discord Trigger 與憑證設置教學 07

第四步:新增 Credentials

有兩個需要新增的 Credentials,分別是 n8n 原有的 Discord 節點,以及 n8n 社群節點 Discord Trigger,先從 n8n 原有的 Discord 節點開始。

💡
建議這些資訊可以先存在記事本中,因為如果要再次查看,則需要重置(Reset),重置後會導致原本使用舊 Token 的 Bot 無法使用
  • Client ID、Client Secret:在 Develop Portal 的左側 OAuth2 裡面會找到
  • Bot Token:點擊左側 Bot,找到 Token 下方點擊 Reset Token 就會看到
  • 填入後,點擊 Connect to account,選擇對應伺服器並給予授權即可
n8n Discord Trigger 與憑證設置教學 08

接著是 Discord Trigger 的節點,從 Credentials 中找到 Discord Bot Trigger API

n8n Discord Trigger 與憑證設置教學 09

需要的資訊有:

  • Client ID、Bot Token:與剛剛的一樣,直接填入
  • n8n API Key:從 n8n Settings 中找到 n8n API
    • 點擊 Create API,輸入方便記住的名字
    • Expiration 設定為 No Expiration
    • 獲得你的 API Key,點擊並複製起來
  • Base URL:將這串的網址網域的部分替換成你的 n8n 網域即可
    • https://n8n.example.com/api/v1

接著點擊儲存,最後最後!我們需要 重啟 n8n 伺服器,才能順利啟用 Discord Trigger。

n8n Discord Trigger 與憑證設置教學 10

第五步:測試 Discord Trigger

開啟一個 n8n Workflow,選擇 Discord Trigger,這時候預設會選擇你設定好的 Credentials,所以我簡單介紹一下這個社群節點的設置。

  • Trigger Type
    • 什麼動作會觸發此 Trigger,最常用的是 Message,也就是訊息觸發
    • 其他像是身份組、表情回覆、用戶加入也都可以自行使用
  • Server Names or IDs
    • 選擇要觸發的 Discord 伺服器
  • Listen to Channels
    • 要監聽、觸發 Trigger 的頻道
    • 注意:如果使用多個 Trigger 且監聽範圍重複,可能會導致 Trigger 失效
  • Listen to Roles
    • 要監聽的對象身份組
  • Pattern
    • 特徵,選擇 Every 則是所有,另外也可以設定當訊息開頭、結尾、內容包含哪些指定條件才會觸發
  • Trigger Only on Message Replies
    • 如果打開就代表,只有被回覆時才會觸發,預設關閉即可

接著實際測試一次,這次監聽訊息我使用全部,而身份組與頻道則自訂,點擊 Test Step,並在 Discord 發送訊息就會看到囉!

💡
要特別注意,如果在同一個 n8n 中,設置兩個或以上的 Discord Trigger Credentials,可能會遇到失效的問題!
n8n Discord Trigger 與憑證設置教學 11

這樣就成功啦~如果你覺得這篇文章有幫助到你,也歡迎訂閱我的電子信,未來當 n8n 相關文章與工作流應用更新時,你就能收到最新通知。

此外,有任何問題也都歡迎到 Discord 社群詢問,我製作了實用的 n8n Templates 搜尋 Bot,讓你用口語化的方式,從 1,800 多個官方模板中找出需要的模板!

加入 科技宅阿高 Discord 伺服器!
快到 Discord 上的 科技宅阿高 社群消磨時間,與 231 位成員享受免費的語音與文字聊天。