You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telethon使用download_media时自定义下载文件命名报错问题

问题原因

报错是download_media方法参数传递错误导致的:

  • 你调用event.download_media()时,该方法已经隐式绑定了当前事件对应的消息对象作为媒体来源,不需要额外传入其他对象作为媒体参数。
  • 你代码里传入的new_message是event.message.message,也就是消息的纯文本内容,根本不是媒体对象,这个多余的参数占了位置,再加上后面的file_name,最终传入的位置参数总数超出了方法允许的范围,触发参数数量不匹配的报错。
修正方案

去掉多余的new_message传参,直接将自定义文件名作为参数传入download_media方法即可。

修正后的完整代码:

@client.on(events.NewMessage(chats=chat_id))
async def newMessageListener(event):
    new_message = event.message.message
    print(new_message)
    print()

    file_name = "new_image.jpg"

    if event.message.photo:
        await event.download_media(file_name)
        print("New image received")

with client:
    client.run_until_disconnected()
补充说明

如果需要避免多张图片文件名重复被覆盖,可以在自定义文件名中拼接消息ID、时间戳等唯一标识,例如:
file_name = f"{event.message.id}_new_image.jpg"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 09:12:22