LINE 在全世界擁有上千萬的用戶,在台灣幾乎每個使用手機的人,都會註冊一個 LINE 的帳號,不論公家單位還是私人企業,也都會使用 LINE 的官方帳號來與使用者保持聯繫。隨著資訊科技的發展,近年來各個企業也逐漸打造自己的 LINE BOT,除了被動的處理客服諮詢,還能透過 LINE BOT 主動推播各種行銷活動資訊,透過與使用者的即時互動,打造優質的品牌形象。
一個最簡單的 LINE BOT,可以從註冊官方帳號開始,註冊了 LINE 的官方帳號後,從管理介面中就可以進行最簡單的 LINE BOT 聊天操作,但如果要讓 LINE BOT 擁有更多的功能,就需要撰寫程式去串接 LINE Developer 所提供的操作方法,透過各種方法的互相搭配,就能打造自己專屬的 LINE BOT ( 例如聊天機器人、記帳機器人、購票機器人、天氣通知機器人...等 )。
本書是專門介紹開發 LINE BOT 的書籍,從最基本帳號的申請串接、環境的建置和圖文選單設定,一直到 LINE Message API 的進階操作都有詳細的介紹,並且會使用本機環境、Google Colab 雲端開發環境進行實際的開發演練,最後更會搭配 Google Cloud Functions、Google Dialogflow 服務,打造一個可以 24 小時運作、並能理解自然聊天語意的 LINE BOT。
本書主要內容如下:
● LINE 官方帳號申請
● LINE 開發者帳號設定
● ngrok 服務
● Webhook
● 解析 LINE 訊息
● 回傳訊息的方法
● Google Cloud Functions
● Google Dialogflow
● 氣象機器人
● 聊天機器人
作者簡介:
OXXO ( 張宗彥 )
★高師大附中、中央大學物理系畢業
★台灣藝術大學多媒體動畫藝術碩士
★Webduino 共同創辦人 ( 2015-2020 )
★STEAM 教育學習網創辦人 ( https://steam.oxxostudio.tw )
★OXXO.STUDIO 部落格作者 ( https://www.oxxostudio.tw )
★擁有十幾年跨領域 ( 斜槓 ) 的工作和學習經驗,研究 LINE BOT 多年,分別使用 JavaScript 和 Python 開發過多種聊天機器人,在各地多次進行 LINE BOT 開發授課。
作者序
從學生時期開始,我對於「聊天機器人」就有一種莫名的熱情,早在十幾年前 MSN 盛行的年代,我就已透過古老的 Flash 技術,設計出了一個模擬 MSN 介面的聊天機器人,不僅能進行基本的日常對話,還能傳送當時最夯的震動、表情圖片和大頭貼,這個機器人甚至幫我完成了研究所的畢業論文 ( 碩博士論文搜尋:智慧型代理人之表情設計研究 )。
隨著 MSN 和 Flash 消失,當初的機器人從此長眠,但也因此在我心中種下了「AI 聊天機器人」的種子,直到 LINE 的出現,又引燃了我的這份熱情,由於 LINE 提供的開發文件相當完整 ( 雖然有些仍然得靠自己東拼西湊 ),讓開發者可以很方便地進行開發,所以越來越多的公司企業,都會讓自己擁有一個客服或宣傳的 LINE BOT,許多政治人物、藝人媒體或團購,也都會利用 LINE BOT 作為自己行銷的管道。
最開始接觸 LINE BOT 時,我使用 Google Apps Script 進行開發,在一兩年裡實作出好幾個 LINE BOT,有些變成了公司的產品,有些串接物聯網裝置成為了智慧家庭管家,有些甚至成為了我 LINE BOT 授課時的課堂經典範例。接觸了 Python 之後,發現透過 Python 更容易實現爬蟲、影像處理的功能,所以開始利用 Python 開發 LINE BOT,這也成為了出版這本書的契機。
這本書完整紀錄了使用 Python 開發 LINE BOT 的過程,從註冊官方帳號、註冊開發者服務開始,一直介紹到 LINE Message API 的相關用法、LINE 訊息的解析以及開發 LINE BOT 的眉眉角角,最後還會使用 Google Cloud Functions 打造 24 小時不間斷的機器人服務,使用 Google Dialogflow 打造能理解自然語意的 AI 聊天機器人,整本書盡可能減少累贅的文字敘述,將重點擺在實際程式碼的操作過程,不論是老手新手,只要跟著書中的步驟,就能輕鬆掌握 LINE BOT 的開發精髓,打造自己獨一無二的 AI 聊天機器人。
從學生時期開始,我對於「聊天機器人」就有一種莫名的熱情,早在十幾年前 MSN 盛行的年代,我就已透過古老的 Flash 技術,設計出了一個模擬 MSN 介面的聊天機器人,不僅能進行基本的日常對話,還能傳送當時最夯的震動、表情圖片和大頭貼,這個機器人甚至幫我完成了研究所的畢業論文 ( 碩博士論文搜尋:智慧型代理人之表情設計研究 )。
隨著 MSN 和 Flash 消失,當初的機器人從此長眠,但也因此在我心中種下了「AI 聊天機器人」的種子,直到 LINE 的出現,又引燃了我的這份熱情,由於 LINE 提供的開發文件相當完整 ( 雖然有些仍然得靠自...
目錄
- 1、認識 LINE BOT
- 1-1、什麼是 LINE BOT
- 1-2、LINE BOT 在生活中的應用
- 2、建立 LINE BOT
- 2-1、註冊並登入 LINE Developer
- 2-2、建立 Provider
- 2-3、建立 Channel
- 2-4、LINE 官方帳號設定
- 2-5、加入 LINE BOT 為好友
- 3、開發環境設定&串接 LINE BOT
- 3-1、認識 Webhook
- 3-2、取得 LINE Channel access token 和 Channel secret
- 3-3、註冊 ngrok 服務
- 3-4、建立 Webhook ( 本機環境 )
- 3-5、建立 Webhook ( Google Colab )
- 3-6、建立 Webhook ( Google Cloud Functions )
- 4、解析 LINE 訊息
- 4-1、將訊息轉換為 json 格式
- 4-2、訊息種類與屬性
- 通用屬性
- text 文字訊息屬性
- sticker 表情貼圖訊息屬性
- image 圖片訊息屬性
- video 影片、audio 聲音訊息屬性
- location 地點位置訊息屬性
- postback 訊息屬性
- 5、傳送 LINE 訊息的方法
- 5-1、自動回覆訊息
- 認識 reply token
- 回覆文字訊息
- 回覆表情貼圖
- 回覆圖片或影片訊息
- 回覆地址訊息
- Google Cloud Functions 部署自動回覆訊息
- 5-2、主動推播訊息
- 取得 LINE user ID
- 推播訊息的方法
- Google Cloud Functions 部署推播訊息
- 5-3、使用 Requests 傳送訊息
- reply message 回覆訊息
- push message 主動傳送訊息
- 透過 API 所傳送的訊息格式
- 5-4、使用 LINE URL Scheme
- 認識 LINE URL Scheme
- 發送訊息
- 發送地點資訊
- 開啟相機、發送圖片
- 常用功能列表
- 6、傳送不同類型的 LINE 訊息
- 6-1、發送樣板訊息
- ButtonsTemplate 按鈕樣板
- ConfirmTemplate 確認樣板
- CarouselTemplate 輪播樣板
- ImageCarouselTemplate 圖片輪播樣板
- 6-2、發送 Flex Message
- 設計 Flex Message
- Python 發送 Flex Message
- 6-3、建立圖文選單
- 什麼是 LINE 圖文選單?
- LINE 官方帳號建立圖文選單
- Python 建立圖文選單 ( 準備圖片 )
- Python 建立圖文選單 ( 程式設定 )
- Python 其他圖文選單方法
- 圖文選單物件格式
- 6-4、切換圖文選單
- 設定圖文選單 A
- 設定圖文選單 B
- 設定圖文選單 C
- 測試執行結果
- 7、實作 LINE 氣象機器人
- 7-1、氣象機器人 (1) - 雷達回波與地震資訊
- 建立測試用的 Webhook
- 回傳雷達回波圖
- 回傳地震資訊
- 7-2、氣象機器人 (2) - 目前氣象資訊
- 取得地址資訊
- 回傳目前氣象資訊
- 7-3、氣象機器人 (3) - 天氣預報和空氣品質
- 回傳天氣預報資訊
- 回傳空氣品質資訊
- 7-4、氣象機器人 (4) - 加入圖文選單
- 7-5、部署程式到 Google Cloud Funcions
- 8、串接 Dialogflow 打造聊天機器人
- 8-1、使用 Google Dialogflow
- 認識 Dialogflow
- 開始使用 Dialogflow
- 建立對話意圖 ( Intent )
- 機器人聊天測試
- 8-2、Dialogflow 串接 Webhook
- Dialogflow 與 WebHook 的關係
- 建立 Webhook ( 本機環境 )
- 建立 Webhook ( Google Colab )
- 建立 Webhook ( Cloud Functions )
- Dialogflow 串接 Webhook
- 8-3、伺服器串接 Dialogflow
- 建立並下載金鑰 json
- 串接 Dialogflow ( 本機環境 )
- 串接 Dialogflow ( Cloud Functions )
- 8-4、聊天機器人 (1) - LINE BOT 串接 Dialogflow ( 基本串接 )
- Dialogflow 建立 Intents 對話意圖、回覆內容
- 從 Dialogflow 建立與 LINE 串接的 Webhook
- LINE BOT 串接 Dialogflow
- 8-5、聊天機器人 (2) - LINE BOT 串接 Dialogflow ( 外部 Webhook )
- 串接流程圖
- 使用 Python 建立 Webhook 網址
- 搭配 LINE BOT 測試
- Enable Webhook call for this intent
- 8-6、聊天機器人 (3) - LINE BOT 串接 Dialogflow ( 聊天問氣象 )
- 建立 Dialogflow Intent
- 回傳雷達回波圖 ( 本機環境 )
- 回傳雷達回波圖 ( Google Colab )
- 回傳雷達回波圖 ( Cloud Functions )
- 8-7、聊天機器人 (4) - LINE BOT 串接 Dialogflow ( 接收表情貼圖 )
- 伺服器串接 Dialogflow 流程圖
- 接收表情貼圖 ( 本機環境 )
- 接收表情貼圖 ( Cloud Functions )
- 9、使用 LINE Notify 推播通知
- 9-1、認識 LINE Notify
- 9-2、申請 LINE Notify 權杖
- 9-3、發送 LINE Notify 訊息
- 9-4、透過 LINE Notify 發送表情貼圖
- 9-5、透過 LINE Notify 傳送圖片
- 9-6、透過 LINE Notify 傳送雷達回波圖
- 取得雷達回波圖網址
- LINE Notify 傳送雷達回波圖
- 避免緩存 ( Cache ) 變成舊圖片
- 10、使用 Google Clud Functions
- 10-1、認識 Google Cloud Functions
- 10-2、Cloud Functions 計費方式
- 10-3、建立 Cloud Cloud 專案
- 10-4、啟用 Cloud Build API
- 10-5、啟用 Google Cloud Functions
- 10-6、部署第一支程式
- 10-7、讀取參數
- 10-8、處理跨域問題
- 附錄 、其他參考資訊
- Python 資料型別
- Python 基本語法
- 函式庫 ( 模組 )
- 1、認識 LINE BOT
- 1-1、什麼是 LINE BOT
- 1-2、LINE BOT 在生活中的應用
- 2、建立 LINE BOT
- 2-1、註冊並登入 LINE Developer
- 2-2、建立 Provider
- 2-3、建立 Channel
- 2-4、LINE 官方帳號設定
- 2-5、加入 LINE BOT 為好友
- 3、開發環境設定&串接 LINE BOT
- 3-1、認識 Webhook
- 3-2、取得 LINE Channel access token 和 Channel secret
- 3-3、註冊 ngrok 服務
- 3-4、建立 Webhook ( 本機環境 )
- 3-5、建立 Webhook ( Google Colab )
- 3-6、建立 Webhook ( Google Cloud Functions )
- 4、解析 ...