用 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 上传取得网址来寄送讯息。这部分日後有空的话会再更新於此篇。


<<:  使用 Python 实作网路爬虫 part 3

>>:  让服务器主动更新画面

菜鸟新人第七十五天

当小菜渣也好一阵子了, 来记录一下 铁人赛结束後,也顺利的录取心目中满意的公司 十一月报到後就开始当...

Trouble with Distributed Systems (4-1) - Truth and Lies

前几天讲了跟分散式系统有关的网路不可靠、时钟不可靠的鬼故事,不可靠的东西这麽多,我们要如何判断真与假...

[Day23]程序菜鸟自学C++资料结构演算法 – 插入排序法(Insertion Sort)

前言:上一篇讲完了排序的基本定义和最普遍的气泡排序,接着要继续介绍更多新的排序。 插入排序法: 和气...

EP09 - 建立 Django 专案和 EC2 环境 并手动部署到 EC2

前几天的打底, 把 Gitlab、Jenkins 建好, 但是仍然少了最重要的主角, 要部署的服务本...

Day 29 | 很像 Vue 的 AlpineJS(四): x-on

x-on x-on 可以简单的用从 DOM 中来触发事件,像是最常用的按钮: <button ...