如何架設客製化 LINE Bot:從 Webhook 到 Cloud Run 流程介紹

如何架設客製化 LINE Bot:從 Webhook 到 Cloud Run 流程介紹

如何架設客製化 LINE Bot:從 Webhook 到 Cloud Run 流程介紹

先前介紹到透過line 官方介面no code方式快速啟動line bot(連結),如果想要更細部的微調或是串接各式的AI,就需要透過不同的方式來讓line bot連結各式服務。English version: Link

本文將帶你一步步了解如何透過 Webhook + Flask/FastAPI 來建立 LINE Bot,並比較在開發與上線階段常用的工具,如 ngrok 與 Google Cloud Run。同時,我也會整理它們之間的合作關係與差異,幫助你快速選擇最合適的架構。

一、基礎概念介紹

二、常見工具功能比較

三、各工具之間的合作關係

LINE Bot 與 Webhook

當使用者發送訊息至你的 Bot 時,LINE 伺服器會以 HTTP POST 的方式,將事件內容傳送到你設定的 Webhook URL。 你的後端(Flask/FastAPI)接收到請求後,即可進行邏輯處理並回傳訊息。

Line 放置webhook網址的位置:

📡 流程範例:

使用者 → LINE App → LINE Server          ↓     Webhook URL(你的伺服器)          ↓  Flask/FastAPI 處理邏輯 → 回覆至 LINE

Flask / FastAPI 搭配 ngrok

  • 在開發階段,你的伺服器通常跑在 localhost:5000。
  • 透過 ngrok,可以把本地伺服器轉換成一個外部可存取的安全網址,例如:
https://abcd1234.ngrok.io
  • 將此網址填入 LINE Developers Webhook 設定,即可讓 LINE 傳送事件到你的本機。 (設定可參考 連結)
    ✅ 適合:快速開發、除錯階段 ⚠️ 注意:免費版 ngrok 會定期斷線,需要重新更新網址。

3️Flask / FastAPI 部署至 Google Cloud Run

  • 開發完成後,可將專案打包成 Docker 容器。
  • Cloud Run 會自動提供公開 HTTPS 網址並支援自動擴展。
  • 將該網址填入 LINE Developers 的 Webhook 欄位,即可正式上線。
    ✅ 適合:正式環境、長期運行 ⚙️ 可搭配:

  • Cloud Build(自動部署)

  • Firestore / PostgreSQL(儲存資料)
  • Cloud Scheduler(排程任務)

四、典型 LINE Bot 架構圖

[使用者]   ↓[LINE App]   ↓[LINE Server]   ↓ (Webhook POST JSON)[ngrok / Cloud Run 公開網址]   ↓[Flask / FastAPI 後端]   ├─ 接收事件   ├─ 呼叫 AI 模型 / DB / 外部 API   └─ 回傳訊息至 LINE Server   ↓[使用者收到回覆]

結語

透過 Webhook、Flask/FastAPI、ngrok、與 Google Cloud Run 的組合,你可以:

  • 快速開發 LINE Bot
  • 靈活測試 本地端互動
  • 無縫部署 到雲端環境
  • 擴展整合 AI 模型或資料庫服務
    無論是實驗性 AI 助手、公司內部問答系統,或完整商業級聊天應用,都能以這套架構為基礎進行延伸。

Comments

Loading comments…

Leave a Comment