首頁 / n8n 工作流模板 / 使用 OpenWeatherMap 的 Telegram 天氣通知工作流程

使用 OpenWeatherMap 的 Telegram 天氣通知工作流程

Telegram Weather Workflow

此工作流程在收到訊息觸發時,將 OpenWeatherMap 的當前天氣資訊發送到 Telegram 聊天。它檢索柏林的天氣數據,並回覆天氣狀況、溫度和體感溫度。

Webhook3 個節點效率辦公Telegram天氣API

工作流介紹

Telegram 天氣工作流程分析

這個名為「Telegram 天氣工作流程」的 N8n 工作流程範本,是一個實用的自動化工具,旨在透過 Telegram 回應使用者訊息,提供即時天氣更新。它利用 n8n 的整合能力,將 Telegram 訊息與 OpenWeatherMap 的即時天氣資料連結,讓使用者無需離開聊天介面,即可收到即時、個人化的天氣報告。

工作流程功能說明

此工作流程會監聽 Telegram 機器人收到的訊息,一旦收到訊息,便會自動從 OpenWeatherMap API 擷取預設城市(在此範例中為德國柏林)的目前天氣資訊。接著,它會將這些資料格式化成自然語言訊息,並回傳給觸發對話的使用者,使其成為一個互動式、反應迅速的天氣助理。

主要特色與功能

  • 事件驅動觸發器:由任何 Telegram 訊息觸發,確保即時反應。
  • 即時天氣資料:擷取最新的天氣狀況和溫度讀數。
  • 動態訊息個人化:使用資料表達式,以實際天氣數值自訂回覆。
  • 無縫聊天整合:自動回覆給原始發送者,使用其聊天 ID。
  • 低維護且全自動化:一旦部署,即可持續運行,無需手動介入。

主要節點及其用途

  1. Telegram Trigger

    • 類型: n8n-nodes-base.telegramTrigger
    • 用途: 作為工作流程的進入點。它監聽 Telegram 的傳入更新,並在收到新訊息時觸發工作流程。
    • 設定: 設定為僅擷取「訊息」更新,這表示發送給機器人的任何文字都會啟動流程。
    • 憑證: 連接到名為「Telegram」的預先設定的 Telegram 機器人 API 憑證。
  2. OpenWeatherMap

    • 類型: n8n-nodes-base.openWeatherMap
    • 用途: 擷取指定地點的目前天氣資料。
    • 設定: 硬編碼為擷取德國柏林("berlin,de")的天氣,包括溫度、體感溫度和天氣描述等詳細資訊。
    • 憑證: 使用儲存在「OpenWeatherMap」下的已驗證 OpenWeatherMap API 金鑰。
  3. Telegram (Send)

    • 類型: n8n-nodes-base.telegram
    • 用途: 將格式化的訊息回傳給發起對話的使用者。
    • 設定:
      • text 參數使用 n8n 的表達式語法,將天氣資料動態插入友善的訊息中。
      • chatId 動態設定為與發送原始訊息者的 ID 相符,確保正確的回覆路由。
      • 包含表情符號以增強可讀性和使用者參與度。

使用案例與效益

  • 個人助理機器人:非常適合建立提供天氣預報等實用日常資訊的簡單聊天機器人。
  • 客戶支援工具:可擴展支援旅行或活動規劃服務,其中天氣背景很重要。
  • 教育專案:非常適合教授 API 整合、事件驅動工作流程和動態資料處理。
  • 家庭自動化整合:可作為較大智慧家庭系統的一部分,使用者可透過聊天查詢環境條件。

效益包括:

  • 使用真實 API 的快速回應時間。
  • 高度可重用性—可適應其他城市或額外的天氣指標。
  • 使用者友善的輸出,提升互動品質。
  • 由於節點分離清晰且邏輯直觀,設定要求最低。

工作流程邏輯步驟詳解

  1. 觸發階段:

    • 使用者向連接的 Telegram 機器人發送任何訊息(例如,「你好」或「取得天氣」)。
    • Telegram Trigger 節點偵測到此訊息並啟動工作流程,傳遞包含發送者聊天 ID 的完整訊息物件。
  2. 資料擷取階段:

    • 工作流程繼續執行至 OpenWeatherMap 節點。
    • 此節點向 OpenWeatherMap API 發出 HTTPS 請求,查詢德國柏林的目前天氣資料。
    • 收到回應後,它會輸出結構化的 JSON,其中包含溫度(main.temp)、體感溫度(main.feels_like)和天氣狀況(weather[0].description)等欄位。
  3. 回應生成與傳遞階段:

    • 接著執行 Telegram (Send) 節點,使用前兩個節點的資料:
      • 它使用表達式建構一個易於理解的訊息:
        • 插入天氣描述(例如,「小雨」)。
        • 以攝氏度添加實際溫度和體感溫度。
        • 包含一個友善的表情符號以增強語氣。
      • 使用 ={{$node["Telegram Trigger"].json["message"]["chat"]["id"]}} 動態設定收件人,確保回覆能正確傳送給使用者。
    • 訊息透過相同的 Telegram 機器人發送,完成互動循環。

總之,此工作流程透過將外部 API 與訊息平台連結,展示了 n8n 如何實現強大、對話式的自動化—將簡單的觸發器轉變為智慧、資料驅動的回應系統。

使用方法:下載 JSON 檔案,然後在 n8n 中選擇「從檔案匯入」。