LINE Bot 聊天機器人 #1 : 從認識開始
瞭解 LINE Messaging API 可以做的事和如何運作
擁有台灣市場 89% 滲透率的 LINE 無疑是當今最適合接觸用戶的平台,相較於過去傳統 LINE@ 官方帳號的行銷模式,已逐漸發展的 LINE Bot 更是有著無限發展的空間。剛落幕的 LINE CONFERENCE 2018 年度大會展示了該公司對於 LINE Bot 積極的一面,除了陸續推出的新功能外,還包括改良 LINE Developers 後台,以及推出 LINE Bot Desinger 等利於開發者的改變。
本系列將介紹 LINE Bot 最核心的開發部份,從基本建置到各項功能的應用,並且在最少利用外部套件下設計出最純粹的聊天機器人專案,而首先來做基本的認識。
對聊天機器人的初步認識
聊天機器人最大的特點就是能給予用戶最即時的應對,與 LINE Bot 對話通常與常人無異,除了幾項特別的信息格式外,幾乎都是相仿的行為能力,但是 LINE Bot 能夠間接透過數據分析來達成近乎瞬間的結果展示,同時也能利用串接外部的服務來滿足用戶的功能需求。
單個 LINE Bot 在 LINE 平台中的帳號屬於 LINE@ 商家帳號,因此同時也能使用商家的行銷功能 ( 主頁、優惠券 / 活動和行動官網等等),但是目前僅能從 LINE@ 管理後台來利用,所以並不在此次介紹的開發內容。
可以做到的事
用戶對 LINE Bot 的基本行為類似於與常人互動,包括加好友、加群組和信息的傳遞等等。
- 接收、發送和廣播信息 ( 文字、貼圖、圖檔、影片、聲音和位址 )
- 接收檔案信息
- 接收信息外事件 ( 交友、取消追蹤、加入 / 退出群組或聊天室、Beacon 和參數事件 )
- 發送和廣播影像地圖和樣板信息
- 管理主選單
- 取得用戶、群組和聊天室基本資訊 ( ID 和顯示名稱 )
- 代為發送文字訊息
- 快速答覆表 ( Quick Replies )
- 開啟外開或內置瀏覽器
- 開啟網路應用程式 ( LIFF )
開發所需要的知識
- JSON
- 後端語言擇一 ( Node.js、PHP、Python、Ruby、GO、Perl )
- RESTful API 串接
- 部署站台
建議具備
- 版本控制
- LINE Web App ( LIFF ) 需基本前端技能
運作流程
開發 LINE Bot 精確講是開發導引 LINE Bot 溝通的程式,導引的方法是串接存放 LINE Bot 的 LINE 平台伺服器所開放的 LINE Messaging API ,達到的方法為二,最原始的是利用 Webhook 接口監聽再以 RESTful 來向 LINE 伺服器的 LINE Messaging API 發送,而更常見的方法是透過 LINE 所提供的 SDK。
主體流程下是當用戶對 LINE Bot 動作後,後者會將該動作包裝成事件傳遞給導引程式,合理情況下該程式要在最終包裝好一組信息做出一次性的回應。
從技術流程來看,假定導引程式為 Mentor App 並部署在 Mentor Server 上。User 在 LINE App 中向 LINE Bot 動作,LINE Bot 會將該動作以 JSON 組成一個 Event 經由 LINE Server 向 Mentor Server 的 Webhook 發送,Mentor App 接收後開始進行解義,再以 JSON 組成 Message 利用 LINE Messaging API 向 LINE Server 發送,LINE Bot 接收後再將 Message 的內容回饋給 User 的 LINE App。以上流程跳脫憑證相關的認定,會在爾後再做詳談。
未來可能的擴展
這裏指的是未來有可能利用 LINE Messaging API 達到的功能。
- Schedule ( Events )
- LINE Reward Cards
- Coupon Book
- LINE Pay
- AI 人工智慧 ( Clova )
- 數位貨幣交易 ( BITBOX )
- LINE Shopping ( Shopping Lens )
- LINE Travel
- LINE NEWS
系列目次
- LINE Bot 聊天機器人 #1 : 從認識開始
- LINE Bot 聊天機器人 #2 : 創建頻道
- LINE Bot 聊天機器人 #3 : 以 SDK 溝通 ( Node.js 版本 )
- LINE Bot 聊天機器人 #4 : 事件與信息
- LINE Bot 聊天機器人 #5 : 通用信息
- LINE Bot 聊天機器人 #6 : 影像地圖與樣板信息
- LINE Bot 聊天機器人 #7 : 動態樣板信息
- LINE Bot 聊天機器人 #8 : 快速答覆表
- LINE Bot 聊天機器人 #9 : 信息指示
- …
感謝你的閱讀!