接著往下看就可以看到每日的推播(Push messages)以及回覆(Reply messages)次數,也可以看到每月的統整次數,這樣就可以根據當月剩餘次數去安排如何進行推播
回覆
回覆將會是我們LINE Bot中最常使用的一個功能,只要是使用者輸入一段訊息,機器人回覆相對應的訊息,這就叫做「回覆」
最基本的回覆就是回覆指定文字,因此,我們今天就是要來練習如何回覆指定文字吧!!
還記得我們上篇教學中製作的機器人嗎,當我們隨便輸入文字後,機器人就會回覆一模一樣的話回來,這就是最簡單的回覆訊息方式,其程式碼如下
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
message =event.message.text
line_bot_api.reply_message(event.reply_token,TextSendMessage(message))
- @handler.add(MessageEvent, message=TextMessage) : 為告訴LINE Bot,當使用者輸入訊息,且訊息是文字時,我們就執行以下的程式碼,其中TextMessage為LINE Bot處理文字時所使用,我們將其放入message中
- message =event.message.text : 我們將接收到的message中的文字利用「.text」取出,並且再放入message中
- line_bot_api.reply_message(event.reply_token,TextSendMessage(message)) : 如果要回覆的話,就使用「reply_message」,往後的回覆都必須使用此函式,而括弧中必須傳入兩個參數,一個為接收訊息的token,每當有使用者輸入訊息時就會產生一個token,該token只會使用1次,用完即丟,此主要是因為LINE Bot可能需要同時面對多個使用者,其必須知道是要回覆哪個使用者訊息。另一個參數就是我們要回傳給使用者的訊息,在此我們希望的是回覆一模一樣的話,因此,我們要將剛剛接收到並擷取出來的訊息放入此參數,而我們前面說過,我們要回傳文字訊息的話,就必須加上TextSendMessage,不然系統就會出現錯誤唷!!
但這時就會有人問拉,這機器人只會回覆一模一樣的話,真的太不夠智慧了吧,我們當然是希望回傳不一樣的文字才對
所以,我們就來製作一個,當LINE Bot收到特定訊息時,我們可以回傳另一個特定訊息回去
import re
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
message = event.message.text
if re.match("你是誰",message):
line_bot_api.reply_message(event.reply_token,TextSendMessage("才不告訴你勒~~"))
else:
line_bot_api.reply_message(event.reply_token,TextSendMessage(message))
- if re.match("你是誰",message) : 在此我們使用到re,re.match的作用就是判斷文字是否一樣,我們一樣需要2個參數,一個為要符合的文字,一個為要比對的文字,在此我們希望的是接收的訊息為「你是誰」,所以當使用者輸入你是誰時,LINE Bot就會跑到這個if中執行其中的程式碼(※記得在先前import那多加上「import re」,這樣才能使用唷!!)
- line_bot_api.reply_message(event.reply_token,TextSendMessage("才不告訴你勒~~")) : 這行應該不用多說了吧,跟上面唯一不同的地方就在最後要回傳的訊息,我們改為回傳「才不告訴你勒~~」
上傳並佈署
最後當然就是要重新將寫好的程式碼上傳到Github中,並佈署到heroku上囉!!
記得要先將寫好的程式碼按下「Ctrl + s」才會儲存喔!!
一樣,先打開自己的
github,並且選擇上次創建的資料夾,接下來一樣點選「Add file」中的「Upload files」進行上傳
進去以後,將我們更改過的app.py進行上傳,如果不記得哪個程式檔有修改過,也可以將所有程式檔一同上傳更新,這樣就不會遺漏掉了
如果程式檔有修改過,重新上傳的檔案就會顯示最新時間「now」,如果上傳一樣的檔案,但沒有進行修改過,github將不會更改上傳時間,因此可以查看這時間是否有更新,來判斷檔案是否上傳成功
一樣點選「Deploy」
向下滑到底點選「Deploy Branch」進行佈署
當佈署成功後,我們的機器人就會跳出「你可以開始了」表示佈署成功,接著我們一樣輸入「你好」,機器人一樣會回答「你好」,但當我們輸入「你是誰」時,機器人則告訴我們「才不告訴你勒~~」,這樣就表示我們今天的任務達成拉🤗
總結
今天我們又更進一步了,不再只是單純回答一模一樣的文字,則是有點像是對話的回答了,在這大家可以先嘗試指定多個特定訊息,並且讓機器人回傳各式各樣的訊息,也要記得最後一步「上傳並佈署」,往後都會是一樣的步驟,就不會再多做說明,所以請熟記這一步驟,那我們下次就再教大家更多LINE Bot提供的不同回話方式吧!!