今天我們再來教更多不一樣的回訊方式,像是讓機器人回傳圖片、影片,甚至是音訊,使我們的機器人更佳的活靈活現,就讓我們趕快開始今天的教學吧!!
LINE Bot回覆圖片
首先是回覆圖片,這方法很簡單,主程式碼大致如下
我們主要修改的地方為以下這段,當我們傳送「我誰」時,我們希望機器人回傳的是一張圖片,這時就需要用到LINE官方提供的函式「ImageSendMessage」,該函式有兩個參數,分別為「original_content_url」,該參數是要存放我們希望顯示出來的圖片,以及「preview_image_url」,該參數是放一張類似快照的圖片,當我們original_content_url的圖片容量太大時,我們就需要一張較小容量的快照先頂替一下,但通常我兩張圖片都會放同一張圖片,因為我自己放不同圖片時,會變成機器人回傳快照的圖片,但點擊後變成我要的原始圖片
if re.match('我誰',message):
image_message = ImageSendMessage(
original_content_url='https://media.nownews.com/nn_media/thumbnail/2019/10/1570089924-27a9b9c9d7facd3422fe4610dd8ebe42-696x386.png',
preview_image_url='https://media.nownews.com/nn_media/thumbnail/2019/10/1570089924-27a9b9c9d7facd3422fe4610dd8ebe42-696x386.png'
)
line_bot_api.reply_message(event.reply_token, image_message)
當我們編寫好程式碼後,一樣就上傳到GitHub,並且佈署到heroku中,最終成果將會如下
LINE Bot回覆影片
接下來我們改成回傳影片,其實跟傳送圖片類似,主程式碼如下
是不是跟傳送圖片很像,差別只在於我們要傳送影片是使用「VideoSendMessage」,而該函式一樣需要「original_content_url」跟「preview_image_url」兩個參數,只是 original_content_url 是放上影片檔,而preview_image_url則是放上圖片檔
if re.match('蛇丸',message):
video_message = VideoSendMessage(
original_content_url='https://i.imgur.com/XVmZmIE.mp4',
preview_image_url='https://img.ttshow.tw/images/media/frontcover/2020/08/06/6.jpg'
)
line_bot_api.reply_message(event.reply_token, video_message)
最終,當我們輸入「蛇丸」時,機器人就會回傳一個影檔,而該影檔會顯示我們放上的圖片(preview_image_url)
當我們點擊該影檔時,就會播放我們放上的影片拉
LINE Bot回覆音檔
接著我們來試試看如何回覆音檔,主程式碼大致如下
要回覆音檔就要用到LINE Bot官方提供的「AudioSendMessage」函式,該函式是專門讓機器人回覆音檔所用,在此需要兩個參數,分別為「original_content_url」,此要放回覆的音檔,以及「duration」為要撥放的長度,此單位為毫秒,所以30000為30秒之義
if re.match('voicetube',message):
audio_message = AudioSendMessage(
original_content_url='https://cdn.voicetube.com/everyday_records/5664/1626443219.mp3',
duration=30000
)
line_bot_api.reply_message(event.reply_token, audio_message)
可以看到我的音檔是擷取至voicetube,其原始音檔長度為5分10秒,但我們在duration上放上了30000,代表我們只要顯示前30秒而已,但該音檔並不會到30秒就停止,而是會繼續撥放下去,只是顯示上就會顯示只剩下0:00的撥放長度
最終結果就會如下,當我們輸入「voictube」時,機器人就會回覆一個長度看似只有30秒的音檔,但實際上其仍然是5分10秒的音檔,所以記得根據自己的音訊去調整 duration 的長度
總結
今天又多學會了三種LINE Bot的回訊方式,當然,仍然有許多回訊方式等著我們去學習,當我們一一學會後,就可以打造出一個活靈活現的LINE Bot機器人,大家可以先多加的練習今日的回訊方式,想想自己有哪些想要機器人回圖片、影片,甚至是音訊的回覆,只有自己動手做過自己所需的功能,這樣才是真的學會唷!!