Python LINE Bot¶
官方參考:¶
- LINE Messaging API overview: https://developers.line.biz/en/docs/messaging-api/overview/
- Receive messages with webhook: https://developers.line.biz/en/docs/messaging-api/receiving-messages/
- LINE Bot SDK for Python: https://github.com/line/line-bot-sdk-python
建立 LINE Developers Channel¶
建立env環境¶
打開 .env,填入 LINE 的 token:
LINE Bot 核心觀念¶
LINE Bot 不是主動讀你的手機訊息,而是 LINE 平台在事件發生時,把資料送到你的 webhook。
常見事件:
- 使用者傳文字:
MessageEvent - 加好友:
FollowEvent - 點選 postback:
PostbackEvent - 使用者傳圖片、貼圖、位置等其他訊息
基本流程:
安裝套件¶
範例:Echo bot&取得UserID¶
本機測試與ngrok公開¶
LINE webhook 需要 HTTPS。課堂常見用 ngrok取得 HTTPS URL
ngrok 教學¶
- ngrok註冊
- 下載 ngrok
- Install ngrok via WinGet with the following command:
winget install ngrok -s msstore - Add your authtoken:
ngrok config add-authtoken "<YOUR_AUTHTOKEN>" - Start an endpoint:
ngrok http 5000
- Install ngrok via WinGet with the following command:
ngrok公開至LINE Official Account(官方帳號)¶
- 在ngork會取得
https://91b7-2001-b400-e783-5fb1-c6d-b5fb-73e2-3eb7.ngrok-free.app - 在LINE Developers 中選取chennel,在選到「Messaging API」
- 下方Webhook URL填入
https://你的網域/callback - 點即"verify",要看到「成功」
發送文字訊息¶
方式1,利用Line官方帳號「群發訊息」¶

方式2,使用 Broadcast API¶
但是這個仍然會計入訊息額度。 假設:好友數:500人、群發:1次,那就是消耗500則訊息。
方式3,自己蒐集 UserID¶
Rich Menu:圖文選單¶
圖文訊息¶
多頁訊息:Flex Message卡片式版面¶
Quick Reply 選單¶
Quick Reply 是聊天室底部出現的快捷按鈕。使用者不用輸入文字,只要直接點按鈕即可。
將訊息統整成csv,再透過python讀取¶
- PM 或行政人員可以改 CSV,不一定要改 Python
- 程式把資料載入後,可以搜尋關鍵字
-
這就是資料驅動設計的起點
- 範例:伽碩問答Line Bot
- 練習:小北百貨問答Line Bot
Line Bot串接Gemini API¶
最基礎的「使用者傳文字 → LINE Bot 收到 → 丟給 Gemini → 回覆到 LINE」來設計,最容易看懂,後面再慢慢加功能。
- 模型 | Gemini API | Google AI for Developers
- 範例:Line Bot串接Gemini API基礎版
- 提示詞:LINE Bot + 角色設定
- 範例:基於LINE Bot + Gemini API實作AI月老顧問
- 範例:AI塔羅牌解籤老師回覆
後續可以延伸功能¶
- line bot SDK login
- LIFF