如何架設客製化 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