Telethon 在下载前获取媒体大小

Telethon get media size before download

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

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, 下载前如何获取媒体大小(以字节为单位)?

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

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

可以参考Objects Reference for Message to find out the message.file property. It will be a File object with a size property。因此:

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

请注意,fileNone 用于民意调查等媒体。