Python+LINE Bot 輕鬆打造股市機器人(六) : LINE Bot基本功能-圖片、影片及音訊

2022/03/12閱讀時間約 5 分鐘
今天我們再來教更多不一樣的回訊方式,像是讓機器人回傳圖片、影片,甚至是音訊,使我們的機器人更佳的活靈活現,就讓我們趕快開始今天的教學吧!!

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機器人,大家可以先多加的練習今日的回訊方式,想想自己有哪些想要機器人回圖片、影片,甚至是音訊的回覆,只有自己動手做過自己所需的功能,這樣才是真的學會唷!!
為什麼會看到廣告
153會員
56內容數
我出生於財務金融與資訊背景,滿20歲便開始踏入股市。從當初對股市一無所知的菜鳥,到現在成為一名專注於AI股市研究的分析師,這是我的成長歷程。   我崇尚彼得·林區所強調的理念,認為在生活和工作中觀察,從周遭環境中挑選出適合投資的股票,並搭配近期快速崛起的程式交易、大數據分析等AI技術,立志打造輕鬆又便利的投資之路。
留言0
查看全部
發表第一個留言支持創作者!