這篇文章將會教你如何在 n8n 中設置 Discord Trigger,以及設置 n8n Discord Credentials,讓你製作的 Discord Bot 能夠做到更多事情,像是 AI 客服、指令交互等!
前情提要
由於 n8n 官方並沒有支援 Discord Trigger,所以我在社群節點中找到可行的方法,並整理成完整的圖文教學,給想在 n8n 製作 Discord Bot 的你!
參考的 Repo 來源:
n8n 新增 Discord Trigger
第一步:安裝社群節點
首先打開 n8n,點擊左下角進入 Settings

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

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

第二步:新增 Discord Bot
到 Discord Developer Portal 登入後,點擊右上角 New Applications,

第三步:調整設置
接下來是關於 Discord Bot 的設置,跟著圖片教學一步步完成,因為要設定的細節有點多!
- 點擊左側 Installation > 將 Install Link 設置為 None > 點擊 Save Changes 儲存

- 點擊左側 Bot,將參數開關調整為以下設置:
- Authorization Flow(全關)
- PUBLIC BOT:關閉
- REQUIRES OAUTH2 CODE GRANT:關閉
- Privileged Gateway Intents(全開)
- PRESENCE INTENT:開啟
- SERVER MEMBERS INTENT:開啟
- MESSAGE CONTENT INTENT:開啟

- 打開 n8n,點擊新增 Credentials,選擇 Discord OAuth2 API,複製 OAuth Redirect URL,接著回到 Discord Developer Portal

- 點擊左側 OAuth2 > 在 Redirects 欄位填入你剛剛複製的那串 URL,點擊儲存
- 接著在下方會看到 OAuth2 URL Generator
- SCOPES 勾選
bot
與applications.commands
- BOT PERMISSIONS 勾選
Administrator
- 複製 GENERATED URL 並貼上到瀏覽器執行,就會跳轉到把 Bot 加到 Discord 群組的畫面,選擇你要加的伺服器
- SCOPES 勾選

第四步:新增 Credentials
有兩個需要新增的 Credentials,分別是 n8n 原有的 Discord 節點,以及 n8n 社群節點 Discord Trigger,先從 n8n 原有的 Discord 節點開始。
Client ID
、Client Secret
:在 Develop Portal 的左側 OAuth2 裡面會找到Bot Token
:點擊左側 Bot,找到 Token 下方點擊 Reset Token 就會看到- 填入後,點擊 Connect to account,選擇對應伺服器並給予授權即可

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

需要的資訊有:
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。

第五步:測試 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 社群詢問,我製作了實用的 n8n Templates 搜尋 Bot,讓你用口語化的方式,從 1,800 多個官方模板中找出需要的模板!
討論