工作流介紹
將 Telegram 收到的新檔案儲存至 Google Drive – 工作流程分析
此 n8n 工作流程範本可自動將透過 Telegram 發送的檔案直接儲存到 Google Drive 中的指定資料夾。它利用即時訊息監控、條件邏輯和雲端儲存整合,建立無縫的檔案封存或備份系統,無需手動介入。
工作流程功能
此工作流程會監聽 Telegram 聊天室(通常是私人的機器人對話)中的新訊息,檢查訊息是否包含檔案(特別是文件),如果包含,則下載該檔案並將其上傳到 Google Drive 中預先設定好的資料夾。這使用戶能夠將文件、圖片、PDF 或任何支援的檔案類型從 Telegram 直接轉發到他們的雲端儲存。
主要功能與能力
- 即時觸發:使用 Telegram webhook 即時響應傳入的訊息。
- 檔案偵測邏輯:採用條件式「If」節點來驗證訊息負載中是否存在文件。
- 自動檔案下載:Telegram 觸發器已設定
download: true,確保自動擷取二進位檔案資料。 - Google Drive 整合:使用 OAuth2 驗證安全地將檔案上傳到指定的資料夾。
- 保留中繼資料:在將檔案上傳到 Google Drive 時保留來自 Telegram 的原始檔名。
- 無程式碼自動化:可透過 n8n 的視覺化介面完全設定,無需撰寫腳本。
主要節點及其用途
-
On new Telegram Message (
n8n-nodes-base.telegramTrigger)- 作為進入點,訂閱來自 Telegram 機器人的訊息更新。
- 設定為在訊息包含文件時自動下載檔案內容。
- 需要有效的 Telegram Bot API 憑證。
-
If Message contains a File (
n8n-nodes-base.if)- 評估傳入訊息是否包含
document物件(表示已傳送檔案)。 - 使用表達式
={{ $json.message.document }}來檢查此欄位的存在。 - 僅當條件滿足時(即存在檔案)才會將執行傳遞到下一個節點。
- 評估傳入訊息是否包含
-
Upload File to GDrive (
n8n-nodes-base.googleDrive)- 接收從 Telegram 訊息下載的檔案二進位資料和中繼資料。
- 使用 OAuth2 憑證將檔案上傳到 Google Drive。
- 將檔案儲存在「我的雲端硬碟」下的「Demos」資料夾中(ID:
11gyG2TvG0sqCG202CN-w9rloGW-CzKBc)。 - 使用
={{ $json.message.document.file_name }}動態設定檔名。
使用案例與優勢
- 個人文件封存:使用者可以將收據、合約或筆記發送給他們的 Telegram 機器人,並自動儲存到 Google Drive。
- 團隊協作:團隊可以使用共用的 Telegram 機器人來收集提交的內容(例如,報告、設計),並自動集中儲存到 Drive。
- 備份自動化:透過建立冗餘的雲端副本,防止透過 Telegram 發送的重要檔案丟失。
- 節省時間:無需手動下載和上傳步驟,減少人為錯誤和工作量。
- 可擴展性:可以擴展以處理多種檔案類型、應用命名慣例或觸發下游操作(例如,電子郵件通知)。
工作流程邏輯步驟解析
-
觸發器啟動:
使用者向已設定的 Telegram 機器人發送包含檔案(例如 PDF)的訊息。telegramTrigger節點透過 Telegram 的 webhook API 偵測到此事件。 -
自動檔案下載:
由於additionalFields.download設定為true,n8n 會自動從 Telegram 伺服器擷取檔案內容,並將其作為二進位資料附加到工作流程項目中。 -
條件檢查:
工作流程將訊息負載傳遞給 If 節點,該節點會評估message.document是否存在。如果訊息僅包含文字或不受支援的媒體(例如貼圖),則條件失敗,工作流程停止。 -
Google Drive 上傳:
如果偵測到文件,工作流程將繼續到 Google Drive 節點。它使用:- 來自
message.document.file_name的原始檔名 - 對應於「Demos」資料夾的預定義資料夾 ID (
11gyG2TvG0sqCG202CN-w9rloGW-CzKBc) - 經過驗證的 Google Drive 憑證來執行上傳
- 來自
-
完成:
檔案現已儲存在 Google Drive 中,工作流程成功結束。未來的訊息將獨立觸發相同的序列。
此工作流程體現了兩個熱門平台—Telegram 和 Google Drive—之間高效的事件驅動自動化,使用戶能夠以最少的設定簡化數位工作流程。
使用方法:下載 JSON 檔案,然後在 n8n 中選擇「從檔案匯入」。