2016年7月27日 星期三

使用Line 機器人控制 FLUX

在今年年初,Line跟Facebook message不約而同的開放了 Chat Robot(聊天機器人)
用法大致上差不多,Facebook 要使用粉絲專頁,Line則是要先申請一個商業帳號
後端接一個https 的伺服器,本文中使用的是Heroku
   
FLUX 也在近期開放了API供使用,剛好我需要在外面也要能夠控制與監測FLUX有沒有偷懶的狀況
就想到將兩個功能搭配在一起

本來想要做到一定程度的功能再公開
但因為最近比較忙,沒什麼空更新
就打算先放出來供白老鼠們大家試用,並且已經將安裝方式盡量做到最簡單
之後再慢慢加功能了

目前做到查詢,暫停,繼續與停止
先來看一下我家可愛的豬毛小助手的使用情境吧





要安裝之前請先確定
1. 你會設定NAT(Port forwarding)
2. 擁有固定IP,或是會使用DDNS

首先將FLUX所在的網路,port 1901 (TCP and UDP) 以及 port 23811 (TCP)
轉到FLUX所在的IP

如果上面不會用或是看不懂,後面也不用跟著做了


接下來到這裡註冊Line商業帳號,並且開通BOT API 功能,如果你能夠看到下圖這畫面就代表申請完成,並且使用你的個人帳號掃描這頁面的QR Code,將之加入成為好友


這裡是小助手的原始碼,點選底下的會連到Heroku並且看到以下畫面,如果沒有註冊過的人要先註冊後才能看到這畫面


App Name自己取一個,如果留空白Heroku也會分配一個給你
Runtime Selection 隨意,目前只會跟log的時間有關係

輸入完後按下『Deploy for Free』,就會開始匯入程式碼到你的heroku
匯入完成進到你的首頁會看到剛剛匯入的程式(如下圖)


現在點進去,到Setting -> Config Variables -> Reveal Config Vars
加入下圖中所有參數(注意大小寫)
加入完成後再回到Line business 帳號,底下的Callback URL裡輸入

https://{your app name}.herokuapp.com:443/callback

(記得將{your app name}改成剛剛在Heroku申請的名字,別傻傻的直接貼上)


設定完成後按下旁邊的VERIFY按鈕,如果有看到Success就代表成功了
如果出現Timeout請多試幾次,Heroku 的特性,如果30分鐘沒有使用會進入睡眠,
要再使用會需要幾秒的時間喚醒。


接下來可以試者跟你的小助手說話了
餵他吃”罐罐“ 可以得到目前支援的指令,如下圖


指令格式為Flux cmmand

FLUX(大小寫都行),加一個空白,command的句子只要有包含以下列表內的字就行,優先順序由上到下

EX: Flux 請告訴我檔案進度,只會回覆status而忽略檔案指令



因為有些手機使用數字鍵盤會比較方便,因此加入了數字指令功能,
格式為 8763 command

EX: 8763 110
會回覆狀態



有問題或是不清楚的,請在下方留言,我會盡快回覆
設定上有問題的請將Heroku右上方的 more -> View logs 內的log截圖貼上,這樣我才好判斷問題點在哪邊



下一篇讓我們來談談Line Bot的使用方法,分享兼紀錄

沒有留言:

張貼留言