LINE Bot 聊天機器人 #1 : 從認識開始

瞭解 LINE Messaging API 可以做的事和如何運作

Cody Wildtyto
5 min readJul 27, 2018

擁有台灣市場 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 Developers 開發者後台創建 LINE Bot 的本體機器人頻道。

系列目次

--

--