部落格

  • Discord 自動發文實戰:如何申請 Bot Token 並打造「分眾推播」系統? (n8n 子工作流)

    Discord 自動發文實戰:如何申請 Bot Token 並打造「分眾推播」系統? (n8n 子工作流)

    前情提要

    如果你是從 多平台自動發文系統 (Main Workflow) 這篇文章過來的,
    這裡就是你要找的 「Discord 子工作流」。

    對我來說,Threads 和 Instagram 是「公海」,是用來觸及泛流量的;
    而 Discord 才是我的「私域」,這裡面的每一個人,都是精準的對象。

    比起期待別人看到我的 IG Reels 或 Youtube 影片,
    我更傾向於主動把內容推播給 Discord 的成員。
    因為他們才是真正對內容感興趣的夥伴。


    下載區

    老樣子,工具我都準備好了:

    1. 📥 這裡下載 Discord 發文助理 (Sub-workflow)
    1. Backend API Key:你需要這個鑰匙來啟動我的後端服務。

    Step 1: 申請 Discord Bot Token

    跟 FB/IG 那種每兩個月就要換一次 Token 的麻煩事不同,
    Discord 的 Bot Token 是永久有效的,
    這意味著設定一次,終身受用。

    流程非常簡單,跟著我做:

    1. 建立 Application

    前往 Discord Developer Portal。

    • 點擊右上角的 New Application。
    • 取個名字(例如:n8n-bot),這也是之後身分組顯示的名稱。
    • 勾選同意條款,按下 Create。

    2. 建立 Bot

    • 在左側選單點擊 Bot。
    • 這邊你可以設定機器人的頭像 (Icon) 和名稱 (Username)。

    ⚠️ 關鍵步驟:開啟權限 (Privileged Gateway Intents)
    往下滑,找到 Privileged Gateway Intents 區塊。
    請務必把這三個開關都打開:

    • Presence Intent
    • Server Members Intent
    • Message Content Intent

    3. 設定 Bot Permissions

    • 往下滑找到 Bot Permissions。
    • 勾選 Send Messages。
    • 勾選 Embed Links。
    • 勾選 Attach Files。
    • 勾選 Mention Everyone (如果你需要它 Tag 人的話)。

    4. 取得 Token

    • 回到頁面最上方,找到 Token 附近的 Reset Token 按鈕。
    • 點擊下去,它會生成一串亂碼。
    • 先把它記住,待會我們需要利用它設定 n8n 的節點。

    5. 邀請機器人進你的伺服器

    • 左側選單選 OAuth2 -> OAuth2 URL Generator。
    • Scopes 勾選:bot。
    • Bot Permissions 勾選:
    • 複製最下方的 Generated URL。
    • 在瀏覽器貼上這個網址,選擇你的伺服器,按下授權。

    Step 2: 取得 Channel ID

    伺服器有一個,但頻道有那麼多個,機器人不會知道要發到哪一個頻道。
    我們需要告訴它明確的 Channel ID。

    1. 打開 Discord 設定 -> 應用程式設定 -> 進階。
    1. 開啟 開發者模式 (Developer Mode)。
    1. 回到你的伺服器,對著你想發文的頻道(例如 #一般 或 #公告)按右鍵。
    1. 點擊最下方的 複製頻道 ID。

    請把你需要的頻道 ID 都複製下來備用:

    • 一般閒聊頻道 ID
    • 影片發布頻道 ID
    • Reels/短影音頻道 ID

    💡 小撇步:私人頻道怎麼辦?

    如果 Bot 需要發私人頻道,則需要將 Bot 加入私人頻道,並取得私人頻道的 ID。
    在類別 / 頻道名稱上按右鍵,選擇 編輯 -> 權限 新增成員或身分組,將 Bot 加入。


    Step 3: n8n 工作流解析

    首先把 Discord 發文助理 (Discord Post (Sub)(Template)) 匯入你的 n8n。

    智慧分流

    系統會根據 Notion 傳過來的 Type 或 Platform 標籤,自動決定要把貼文丟到哪裡。

    • Youtube Video?:如果類型是 Video 且平台包含 Youtube -> 自動發送到 Video Channel (例如 #新片通知)。
    • Instagram Reels?:如果類型是 Reels 且平台包含 Instagram -> 自動發送到 Reels Channel (例如 #短影音專區)。
    • Newsletter?:如果是電子報 -> 發送到 Newsletter Channel。
    • 其他:如果都不是,就發送到預設的 General Channel。

    工作流中有 4 個 Setting 節點,分別對應 4 個頻道:

    • Setting (Discord Newsletter Channel ID)
    • Setting (Discord Video Channel ID)
    • Setting (Discord Reels Channel ID)
    • Setting (Discord General Channel ID)

    請在這些節點裡,把 Channel ID 換成你剛剛複製的那串數字。
    這只是我的範例,你可以根據自己的需求新增或刪減。

    設定 Credentials

    這裡會稍微複雜一點,因為我們要同時設定 API Key 資料庫 與 n8n 認證。

    1. 取得 API Key

    前往 會員後台 申請你的專屬 Key。

    2. 設定 Get Token 節點 (Data Table)

    工作流中用到了一個 n8n 內建的 Data Table 來管理你的 API Key。

    • 點擊 Select Table -> Create New DataTable。
    • 建立欄位:

    3. 設定 Discord Publish (Backend) 節點

    工作流中的 Discord Publish (Backend) 節點需要透過 Header 驗證來呼叫我的後端 API。

    • 點擊節點中的 Authentication,確保選的是 Header Auth。
    • 建立一個新的 Header Auth 憑證:

    4. Get Content 及 Upload Post ID 節點

    這裡我們要讓 n8n 有權限讀取你的 Notion 資料庫。
    如果你還沒申請過 Notion API Key,請先參考這篇 Notion 連接教學。
    注意這些節點你只需要設定 Credential,其他都不用動。

    5. Get IG Token 節點

    選擇你存放 IG Token 的 Data Table。
    如果你沒有跟我一起設定 IG Token 的 Data Table,可以參考這篇 IG Token 申請教學。


    結語

    以後每當 Notion 寫完文章,勾選 Discord,它就會自動推送到對應的頻道。
    不要白白的把辛苦寫的內容,埋沒在 IG, FB, Threads 的演算法中。

    現在,你的虛擬助理團隊又多了一位強力成員了。

    加入自動化社群

    如果你對這套系統感興趣,或者在嘗試搭建的過程中遇到問題,
    歡迎 加入我的 Discord 社群,有任何卡關的地方,都可以直接在群裡找我。

    👉 立即加入自動化討論群組

    付費會員會有一個專屬的私人頻道,
    你可以在那裡直接告訴我你在自動化過程中遇到的痛點。
    如果這是一個大家都有的需求,我會親自開發解決方案,並把它整合進系統裡。

    讓我們一起把它變得更強大。

  • API 測試文章

    這篇是用 REST API 發的

  • API 測試文章

    這篇是用 REST API 發的

  • API 測試文章

    這篇是用 REST API 發的

  • 網站第一篇文章

    歡迎使用 WordPress。這是這個網站的第一篇文章,試試為這篇文章進行編輯或直接刪除,然後開始撰寫新文章!