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

使用Telethon非机器人账户向Telegram群组发图报错求助

问题描述
  • 使用Telethon个人非机器人账户向Telegram群组发送图片时触发MediaEmptyError
  • 已尝试将图片移至代码目录,问题未解决
  • 报错信息:
telethon.errors.rpcerrorlist.MediaEmptyError: The provided media object is invalid or the current account may not be able to send it (such as games as users) (caused by SendMediaRequest)
  • 涉事代码:
filenames = ['C:\Users\Achak\Documents\GitHub\typhoone\qq\0.jpg','C:\Users\Achak\Documents\GitHub\typhoone\qq\1.jpg']
for filename in filenames:
    try:
        # Upload the file
        result = await client.upload(filename)
        media = InputMediaPhoto(result)

        # Send the file to the group
        await client.send_file(group, media)
        print(f'Sent {filename} to group with ID {group_id}')
    except PeerFloodError:
        print('Sending too many messages, stopping...')
        break
解决方案
  1. 修复路径转义问题
    Windows路径中的\是转义字符,会导致路径解析错误。两种修正方式:

    • 使用原始字符串(路径前加r):
      filenames = [r'C:\Users\Achak\Documents\GitHub\typhoone\qq\0.jpg', r'C:\Users\Achak\Documents\GitHub\typhoone\qq\1.jpg']
      
    • 改用双反斜杠:
      filenames = ['C:\\Users\\Achak\\Documents\\GitHub\\typhoone\\qq\\0.jpg','C:\\Users\\Achak\\Documents\\GitHub\\typhoone\\qq\\1.jpg']
      
  2. 简化send_file调用
    Telethon的send_file方法支持直接传入本地文件路径,无需手动调用upload和创建InputMediaPhoto,多余步骤易引发错误。修改后代码:

filenames = [r'C:\Users\Achak\Documents\GitHub\typhoone\qq\0.jpg', r'C:\Users\Achak\Documents\GitHub\typhoone\qq\1.jpg']
for filename in filenames:
    try:
        await client.send_file(group, filename)
        print(f'Sent {filename} to group with ID {group_id}')
    except PeerFloodError:
        print('Sending too many messages, stopping...')
        break
  1. 验证基础条件
  • 确认图片文件未损坏,用图片查看器能正常打开
  • 检查个人账号是否有权限向目标群组发送消息(未被禁言、已加入群组)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:32:15