微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Telethon - 如何序列化消息中的文件以便稍后发送?

如何解决Telethon - 如何序列化消息中的文件以便稍后发送?

在我的 Telethon 项目中,我需要从一些私人频道接收消息,然后将这些消息的相关信息存储在数据库中,以便以后发送到不同的频道。我可以对消息本身执行此操作,无论消息是否是对另一条消息的回复等。我的问题是如何对有文件执行相同操作。

我想稍后将我在通道 A 中收到的相同消息发送到通道 B,因此必须将所有文件序列化以将它们存储在数据库中。我想知道如何实现这一点,在文件中存储一个字符串表示,然后如何将该字符串表示再次转换为文件

我从 Telethon 消息中得到的消息对象具有如下结构:

{'_': 'MessageMediaPhoto','photo': {'_': 'Photo','id': 4938497802787465505,'access_hash': -1688573292593521174,'file_reference': "b'\\x04E-jJ\\x00\\x00\\x00\\x04`\\x90[\\xe6\\xc1ES_\\xc5\\xbd\\x1c@\\x0c\\t\\xea\\x9a\\x19F\\xa9\\xb3'",'date': '2021-05-03 20:11:06+00:00','sizes': [{'_': 'PhotoStrippedSize','type': 'i','bytes': 'b"\\x01(\\x16\\xd1\\xd9\'L\\xb0\\xf7\\xdfY:\\x92/\\xdb1$\\x84\\x1d\\x83\\xd4\\xe7\\xadj\\x15}\\xdc\\x17\\xeb\\xfd\\xf1U\\xe5(\\x97L[\\xefy`\\r\\xdc\\x9e\\xf4\\xd2\\xb8^\\xc6<\\xa1@\\x049$\\xfb\\x1a*\\xec\\xcd\\x1c\\xd1\\xaa\\xb6\\xdd\\xe0\\xf3\\xc6\\xda*\\x94<\\xc1\\xb3[jg9\\x7f\\xfb\\xe4\\xff\\x00\\x85P\\xbd\\x964\\xbb\\xc9\\x07\\xee\\x81\\xd0\\xd6\\x86\\xc8I\\xfb\\xbc\\xfd\\rQ\\xbb\\x8d\\xcd\\xc01\\xc2\\xec\\xa1@\\x07\\xff\\x00\\xd7P4\\xdawE9$\\x8eF\\xc4\\x8b\\xb7\\x1d2\\r\\x15,\\xd1K \\x03\\xcbn9\\xa2\\x9d\\x97q\\xb9\\xbe\\xc6\\x99B$,\\x11s\\x9c\\xf4\\xff\\x00\\xebRM\\x92A\\xe8q\\xda\\x8a(J\\xe47a\\xaa\\xb9\\x18\\xdd\\x8a(\\xa2\\x96\\xda\\x06\\xfa\\x9f"'},{'_': 'PhotoSize','type': 'm','location': {'_': 'FileLocationTobedeprecated','volume_id': 806529124,'local_id': 432736},'w': 173,'h': 320,'size': 22179},'type': 'x','local_id': 432737},'w': 432,'h': 800,'size': 82795},{'_': 'PhotoSizeProgressive','type': 'y','local_id': 432734},'w': 518,'h': 960,'sizes': [6255,8444,59238,61659,64084]}],'dc_id': 1,'has_stickers': False,'video_sizes': []},'ttl_seconds': None}

但我假设我不需要所有这些就可以在不同的频道中发送相同的图像

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。