【问题标题】:Telethon get media size before downloadTelethon 在下载前获取媒体大小
【发布时间】:2021-05-18 09:10:38
【问题描述】:

我有以下代码可以从聊天中下载媒体:

getmessage = client.get_messages(dialog, limit=1000)
for message in getmessage:
    try:
        if message.media == None:
            print("message")
            continue
        else:
            print("Media**********")
            client.download_media(message)

我想将下载媒体大小限制为 X MB, 如何在下载之前获取媒体大小(以字节为单位)?

【问题讨论】:

  • 如果你不需要getmessage作为列表,我建议你改用iter_messages,因为它会懒惰地获取消息。

标签: telegram telethon


【解决方案1】:

您可以参考Objects Reference for Message 了解message.file 属性。它将是一个带有size propertyFile 对象。因此:

if message.media:
    print(message.file.size, 'in bytes')

请注意,对于民意调查等媒体,file 将是 None

【讨论】:

    【解决方案2】:

    您可以使用此电报机器人 api 获取文件大小:https://core.telegram.org/bots/api#file

    你应该发送 file_id 作为参数,你可以在你的消息对象中找到 file_id。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-29
      • 2021-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多