Line bot 主動回報及通知系統
標題不知道要怎麼下,意思是說除了下指令給 bot,bot 會回覆相關資訊之外,還可以主動發訊息給指定的 Line 用戶 (當然,前提是這個 Line 用戶需要加入 bot 為好友)。 Line Messenger API 除了提供 reply_message 的方法之外,還有提供 push_message 的方法。 reply_message 顧名思義是當用戶發出訊息給 bot,bot 針對這一個訊息所作的回覆,經測試發現一個 reply token 只能回覆一次,無法針對同樣一個 reply token 一直傳訊息,意思是一個 reply token,只能用一次 reply_message,不過一次 reply_message 可以傳入多個訊息就是了。 另外一個測試發現 reply token 有它的生命週期,bot 在處理用戶訊息如果過久未回覆,reply token 也會失效;那如果真的需要長時間處理的動作該怎麼辦呢?這邊建議可以使用 push_message 的方式,在用戶發出訊息時,可以取得用戶 ID,在處理完畢後,針對這個用戶 ID 傳送訊息,就會很像 bot 針對訊息回覆的情境。 離題了,這次主動通知系統用了 push_message 做了什麼呢? 其實就是 server 排程作業結果回報通知,排程作業各位可以想看看能做什麼,我是用來做小米商店商品開賣通知,因為小米商店常常缺貨,但是又很想要這商品,又不想從大陸買進來(擔心保固、電壓、插座、運送等問題)。在 web server 上實做了傳訊息給 Line 用戶的 push line api,排程作業透過 curl 呼叫 push line api。 示意圖如下