LINE Bot 機器人 Trial API 試用 – 2016/10/05 更新

2016/10/05 更新

前陣子 Line 的開發者大會(2016/09/29)開放新的 Messaging API ,隔一天開始用新的 SDK 開發看看改良這隻機器人,沒想到還有問題,事隔今日再次測試,穩定度就出來了,大概是直接要商用了,所以效能好很多吧,但是也沒給開發者一點空間,需月付一筆金額將帳號轉為商用才可以開啟一些更細部的功能:一對一交談

目前僅是只能加入對話,並針對單一訊息回覆,為指令模式,比較偏向記錄用途,能加入群組這點至少跟前面的試用版比起來還要再更有意思了!

開發參考文件: Dev Docs 也比之前再完整一點囉

一出就跳入大概還有很多坑,建議再觀望一陣子~

舊文分隔~ 新版程式碼也還沒更新上 Github ,只能再找時間了

去年寫過一篇「用 LINE API 打造自動回話機器人」,使用一個韓國人去反解析出來的API開發。

後來大牌們(Line、Facebook Messenger、Skype)也接續的放出 API 要強化品牌功能連結,讓開發者促進所謂的「對談式經濟」。

先說結論

雖然「對談式經濟」聽起來很酷炫厲害,但個人還是沒看到那個「經濟」的可能就是。

原因有:

  1. 既然都能跟 Siri 對話了,怎還要回歸文字?
  2. 差不多時期一起被討論的 VR 或 AR ,在生活融入面上還比對話式互動強烈
  3. 沒有大數據支持開發的機器人不論反應或精準度都不夠(一般開發者難以延伸,指令操作的版本不好用,因實用性不足或不夠驚艷,也讓廣度不夠)
  4. 服務本身被綁在大牌上,開發耗時耗工,會造成基層不敢用的過於深入(此部分延伸出一堆機會財:各種API串接的通用接口,造福的目標是開發者,但沒有解決根本的問題)

Line 與 Facebook 的策略都還不錯,Line使用收費與企業認證模式,其實還不算這麼開放的對外打開這道門(所以延伸出本篇的測試用機器人API接口),而 Facebook 是採用人工審核,不排斥任何可能的好點子,但滿嚴謹的,沒準備好也無法輕易對外公開。

這些做法都是謹慎的不希望一下子就擾民亂了這市場吧!但一方面就是不開放接受市場驗證也無法創造可能囉~

延伸想法

  1. 想到好久以前台大的「大逃殺」遊戲,不知道有沒有可能會在某一天從 LINE or FB上出現這種對談式互動的遊戲,
  2. 或是像「說書人」角色的服務,說故事給你,但也讓你有參與感去決定故事走向,一種訂閱資訊但有了互動可能的服務!

回本篇主題:開發LINE試用機器人

專案原始碼: Github:LINE_bot

程式碼的部分主要看專案就好,下面僅針對特別部分討論

要玩LINE是用機器人難度不高,申請個 [email protected] 帳號後去在申請開發者就好,但重點是收訊息的 callback link 要有 SSL 憑證的加密連線(HTTPS),也算是好解的需求,可以使用開放憑證 Let’s Encrypt

所以你會需要的步驟:

  1. 一個有對外開放連線的IP與網站伺服器
  2. 把安全連線設定好後,將URL填入設定頁
  3. 開始開發!

LINE機器人設定

DEBUG 加在第一段

file_put_contents("debug.txt", file_get_contents("php://input"),FILE_APPEND);

避免中間可能的中斷導致沒記錄到請求。

PS: 根據多次實驗還發現有時候LINE那邊不太穩會沒有送出請求。

使用方式:

composer install 安裝必要元件後,改一改 config 檔,配置上設定後就可以動了~

至於 MySQL 使用與否就看接下來的用途,測試的話可以都註解掉,這部分使用 PHP+MySQL 的組合其實不推薦,速度太慢!真要寫大概也是 NodeJS+MongoDB吧

請求過來的種類可以看 content_type 。除了文字/地理位置資訊比較直接取用外,其他都還好,看應用。

回應的部分,貼圖能發的種類就是基本款~ 但測試帳號也能發送豐富連結形式的訊息(其實就是一個1040×1040的圖+文連結)

互動這塊在測試帳號除了對話外,群組功能都沒開放(我主要想用這個的說…),但是有實驗出一點:

對於測試帳號沒有特別區分好友這塊,只要拿到 MID 碼就能傳訊息給沒加入好友的人,這是實驗分享好友資訊給機器人時捕抓到資訊

只有最後互動部分有稍微吸引到我,其他都真的還好XD

開發上沒有什麼特別的技巧,有想法比較重要!

參考資源

臉書上有個社團滿不錯的,可以Follow:Chatbot Developers Taiwan

官方資源:Line Bot API Document

Facebook 外掛整合


Share: