在前幾天的文章中,我們已經掌握了 n8n 的排程、互動與監控基礎。今天,我們要將這些技能整合,打造一個 IT 技術人不可或缺的「個人資訊情報中心」。
我們每天需要追蹤的資訊源太多了:ITHOME 的最新文章、特定 GitHub repo 的發布、公司產品的更新日誌、甚至是 PTT 的特定版面。如果靠人工巡檢,不僅效率低下,更容易錯過黃金時機。
這篇文章將教你如何讓 n8n 成為你的 7x24 小時情報員,自動監控多個 RSS 來源,並在發現新內容時,透過 Discord Webhook,將精美排版的卡片訊息即時推播給你。
本日實戰目標:
這次的流程會比之前稍微複雜,但邏輯非常清晰:
"資訊來源"
A[RSS Read: ITHOME]
B[RSS Read: PTT Gossiping]
end
"處理與過濾"
A --> C(Merge: 彙整所有文章);
B --> C;
C --> D{IF: 標題是否包含關鍵字?};
end
"發送通知"
D -- 是 --> E[HTTP Request: 發送到 Discord];
D -- 否 --> F(結束);
end
在開始 n8n 設定前,我們先要拿到通往 Discord 頻道的「鑰匙」。這次我們不用笨重的 Bot,改用輕便的 Webhook。
#tech-feed
)。我們需要為每一個想監控的資訊來源,建立一個 RSS Read
節點。
節點一:監控 ITHOME 鐵人賽
RSS Read
https://ithelp.ithome.com.tw/rss/group/ironman/all
15
Minutes節點二:監控 PTT 八卦版
RSS Read
https://www.ptt.cc/atom/gossiping.xml
5
Minutes小提示:RSS Read 節點會自動記錄已經處理過的項目,所以你不用擔心會收到重複的通知。
當我們有多個資訊來源時,需要一個 Merge
節點將它們的輸出合併成單一的資料流,以便後續統一處理。
Merge
節點,然後將上面兩個 RSS Read
節點的輸出端,都連接到這個 Merge
節點的輸入端。Append
即可。資訊貴在精準。如果我們只對特定主題感興趣,就可以用 IF
節點來過濾。
IF
節點,連接在 Merge
節點之後。{{$json.title}}
Contains
n8n
{{$json.title}}
Contains
八卦
只有符合這兩個條件之一的文章,才會從 true
的出口流出。
這是本日的重頭戲!我們將使用這個節點,向第一步取得的 Webhook URL 發送一個精心設計的 JSON 訊息。
操作方法:新增 HTTP Request
節點,並將它連接到 IF 節點的 true
輸出端。
主要參數:
Method: POST
URL: 貼上你的 Discord Webhook URL。
Body Content Type: JSON
Body: 貼上以下這段 JSON 程式碼。這就是 Discord Embed 卡片的結構。
{
"username": "n8n 情報員",
"avatar_url": "https://avatars.githubusercontent.com/u/10403693?s=200&v=4",
"embeds": [
{
"author": {
"name": "{{$json.feed.title}}"
},
"title": "{{$json.title}}",
"url": "{{$json.link}}",
"description": "{{$json.contentSnippet.slice(0, 200)}}...",
"color": 15258703,
"footer": {
"text": "發布時間:{{$moment($json.isoDate).format('YYYY-MM-DD HH:mm')}}"
}
}
]
}
JSON 結構解說:
username
& avatar_url
: 自訂機器人的名稱與頭像。embeds
: 這是卡片訊息的主體,它是一個陣列,代表可以發送多張卡片。author.name
: 使用 {{$json.feed.title}}
來顯示文章來源 (例如 "ITHOME 鐵人賽" 或 "Ptt Gossiping")。title
& url
: 文章的標題和連結。description
: 使用 {{$json.contentSnippet.slice(0, 200)}}...
來顯示文章前 200 字的摘要。color
: 卡片左側的顏色條,使用十進位顏色碼 (15258703 對應紫色)。footer.text
: 在卡片底部顯示文章的發布時間,並使用 n8n 內建的 $moment
物件來格式化日期。啟動這個工作流後,你的 n8n 就會變成一個聰明且勤奮的情報員。它會:
你不再需要手動刷新網頁,也不會被無關的資訊淹沒。這就是自動化帶來的力量:讓你從資訊的海洋中,精準地捕獲你需要的每一條魚。
Day 23 的實作,不僅讓我們掌握了多源資訊的處理、過濾技巧,更深入地探索了如何利用 Webhook 實現更靈活、更美觀的客製化通知。這個強大的資訊流引擎,將成為你日常工作與學習的得力助手。