You need to enable JavaScript to run this app. Telethon下载聊天媒体前如何获取媒体大小以限制下载体积
优惠活动
大模型
产品
解决方案
定价
更多

Telethon下载聊天媒体前如何获取媒体大小以限制下载体积

代码修改实现

你使用的是Telethon库,可直接通过内置属性读取媒体大小无需提前下载,修改后代码如下:

# 定义最大允许下载的媒体大小,单位MB,可自行修改数值
MAX_SIZE_MB = 5
MAX_SIZE_BYTES = MAX_SIZE_MB * 1024 * 1024

getmessage = client.get_messages(dialog, limit=1000)
for message in getmessage:
    try:
        if not message.media:
            print("无媒体消息,跳过")
            continue
        # 获取媒体文件字节大小
        file_size = message.file.size
        if not file_size or file_size > MAX_SIZE_BYTES:
            print(f"媒体大小超出限制/无有效大小,跳过,当前大小:{file_size/1024/1024:.2f}MB" if file_size else "无有效媒体大小,跳过")
            continue
        print("符合大小要求,开始下载媒体**********")
        client.download_media(message)
    except Exception as e:
        print(f"处理消息出错:{e}")

逻辑说明

  • MAX_SIZE_MB 为你要限制的大小阈值,直接修改数值即可调整限制规则
  • Telethon封装的message.file.size 可直接返回对应媒体的字节大小,支持照片、视频、文档、音频等所有通用媒体类型
  • 额外增加了空值判断,避免部分无有效大小属性的特殊媒体引发代码报错

内容的提问来源于stack exchange,提问作者David Itizk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 02:06:07