本篇文章更新時間:2019/02/16
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
2016/10/05 更新
前陣子 Line 的開發者大會(2016/09/29)開放新的 Messaging API ,隔一天開始用新的 SDK 開發看看改良這隻機器人,沒想到還有問題,事隔今日再次測試,穩定度就出來了,大概是直接要商用了,所以效能好很多吧,但是也沒給開發者一點空間,需月付一筆金額將帳號轉為商用才可以開啟一些更細部的功能:一對一交談
目前僅是只能加入對話,並針對單一訊息回覆,為指令模式,比較偏向記錄用途,能加入群組這點至少跟前面的試用版比起來還要再更有意思了!
開發參考文件: Dev Docs 也比之前再完整一點囉
一出就跳入大概還有很多坑,建議再觀望一陣子~
舊文分隔~ 新版程式碼也還沒更新上 Github ,只能再找時間了
去年寫過一篇「用 LINE API 打造自動回話機器人」,使用一個韓國人去反解析出來的API開發。
後來大牌們(Line、Facebook Messenger、Skype)也接續的放出 API 要強化品牌功能連結,讓開發者促進所謂的「對談式經濟」。
先說結論
雖然「對談式經濟」聽起來很酷炫厲害,但個人還是沒看到那個「經濟」的可能就是。
原因有:
- 既然都能跟 Siri 對話了,怎還要回歸文字?
- 差不多時期一起被討論的 VR 或 AR ,在生活融入面上還比對話式互動強烈
- 沒有大數據支持開發的機器人不論反應或精準度都不夠(一般開發者難以延伸,指令操作的版本不好用,因實用性不足或不夠驚艷,也讓廣度不夠)
- 服務本身被綁在大牌上,開發耗時耗工,會造成基層不敢用的過於深入(此部分延伸出一堆機會財:各種API串接的通用接口,造福的目標是開發者,但沒有解決根本的問題)
Line 與 Facebook 的策略都還不錯,Line使用收費與企業認證模式,其實還不算這麼開放的對外打開這道門(所以延伸出本篇的測試用機器人API接口),而 Facebook 是採用人工審核,不排斥任何可能的好點子,但滿嚴謹的,沒準備好也無法輕易對外公開。
這些做法都是謹慎的不希望一下子就擾民亂了這市場吧!但一方面就是不開放接受市場驗證也無法創造可能囉~
延伸想法
- 想到好久以前台大的「大逃殺」遊戲,不知道有沒有可能會在某一天從 LINE or FB上出現這種對談式互動的遊戲,
- 或是像「說書人」角色的服務,說故事給你,但也讓你有參與感去決定故事走向,一種訂閱資訊但有了互動可能的服務!
回本篇主題:開發LINE試用機器人
專案原始碼: Github:LINE_bot
程式碼的部分主要看專案就好,下面僅針對特別部分討論
要玩LINE是用機器人難度不高,申請個 LINE@ 帳號後去在申請開發者就好,但重點是收訊息的 callback link
要有 SSL
憑證的加密連線(HTTPS
),也算是好解的需求,可以使用開放憑證 Let’s Encrypt !
所以你會需要的步驟:
- 一個有對外開放連線的IP與網站伺服器
- 把安全連線設定好後,將URL填入設定頁
- 開始開發!
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
。除了文字/地理位置資訊比較直接取用外,其他都還好,看應用。
回應
的部分,貼圖能發的種類就是基本款~ 但測試帳號也能發送豐富連結形式的訊息(其實就是一個1040x1040的圖+文連結)
互動
這塊在測試帳號除了對話外,群組功能都沒開放(我主要想用這個的說...),但是有實驗出一點:
對於測試帳號沒有特別區分好友這塊,只要拿到 MID 碼就能傳訊息給沒加入好友的人,這是實驗分享好友資訊給機器人時捕抓到資訊
只有最後互動部分有稍微吸引到我,其他都真的還好XD
開發上沒有什麼特別的技巧,有想法比較重要!
參考資源
臉書上有個社團滿不錯的,可以Follow:Chatbot Developers Taiwan