iT邦幫忙

0

用 Python 暢玩 Line bot - 09:Video message

Video message 的存取方式跟 Audio 一樣,這邊就不多說直接放範例程式碼。

@handler.add(MessageEvent)
def handle_message(event):
	#print(event)
	if event.message.type == 'video':
		# 解讀並儲存影片
		UserSendVideo = line_bot_api.get_message_content(event.message.id)
		path= './video/'+ event.message.id + '.mp4'
		with open(path, 'wb') as fd:
			for chunk in UserSendAudio.iter_content():
				fd.write(chunk)

影片的寄送會使用到 VideoSendMessage,所以要在 linebot.models 的地方增加引入 VideoSendMessage 才能夠寄送影片,而寄送的時候會需要給了兩個參數分別是影片的網址,以及該影片在預覽時的圖片,要注意的點是 Line 影片長度最多只能三分鐘,且給的網址後需要加上附檔名,例如直接給一個 youtube 的網址雖然會能夠正常傳送,但使用者會無法正常開啟。

@handler.add(MessageEvent)
def handle_message(event):
	line_bot_api.reply_message(event.reply_token,VideoSendMessage(
		original_content_url='https://i.imgur.com/1BnZGQC.mp4', # 影片的網址,可以參考圖片的上傳方式
		preview_image_url='https://i.imgur.com/wpM584d.jpg' # 影片預覽的圖片
	))

單是傳送影片回去有點太無趣,那我們可以嘗試使用OpenCV去對影片進行加工後,再跟圖片一樣,透過 imgur API 上傳取得網址來寄送訊息。這部分日後有空的話會再更新於此篇。


尚未有邦友留言

立即登入留言