python-telegram-bot 索引文件库(视频和照片)

python-telegram-bot indexing a file library (videos and photos)

我正在使用 python-telegram-bot 8

我正在尝试建立一个数据库 (mysql) 来索引电报超级组中用户发送的所有文件(视频和照片),以便在有人发送已经发送的文件时发出警告。

视频和照片具有 'file_id' 属性,但如果 2 个人发送相同的文件,则此 file_id 不同。

发送到群组的文件是否有唯一标识符?

视频:

update.message.video.file_id

update.message.video.file_size

update.message.video.duration

照片:

update.message.photo[2].file_id

update.message.photo[2].file_size

谢谢

您无法获取文件的唯一标识符,您需要下载它并计算它的哈希值。 :(

顺便说一句,您可以向@BotSupport提出建议,开发团队可能会在以后添加此属性。

file_info = bot.get_file(message.video.file_id)
downloaded_file = bot.download_file(file_info.file_path)
src=os.path.join(str(user_id),'input.mp4')
with open(src, "wb") as new_file:
    new_file.write(downloaded_file)

此代码会将视频文件保存在 src 路径中