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

如何解决Telegram机器人回复图片时报Photo_invalid_dimensions错误

Telegram机器人回复图片报错解决方法

1. 修复图片读取模式错误

你当前使用文本模式r读取二进制图片文件,会导致文件内容损坏,Telegram服务端无法解析有效图片信息,是触发Photo_invalid_dimensions错误的核心原因。将读取模式修改为二进制模式rb即可:
修改对应代码行:

# 原错误代码
# update.message.reply_photo(open('df.png', 'r'))
# 修正后代码
update.message.reply_photo(open('df.png', 'rb'))

更推荐使用上下文管理器自动关闭文件,避免资源泄漏:

if text_received == "12345":
    with open('df.png', 'rb') as img_file:
        update.message.reply_photo(img_file)

2. 补全缺失的处理函数

你当前代码中注册的start、help命令处理器和error错误处理器没有实现,运行时会抛出未定义错误,需要补充基础实现:

def start(update, context):
    update.message.reply_text('你好!发送12345即可获取指定图片')

def help(update, context):
    update.message.reply_text('功能说明:发送12345获取指定图片,其他消息会被回显')

def error(update, context):
    print(f"更新 {update} 触发错误:{context.error}")

3. 检查图片合规性

如果修改后仍然报错,确认你使用的df.png符合Telegram平台要求:

  • 图片宽高比处于1:20到20:1区间内
  • 文件大小不超过10MB
  • 文件没有损坏,且路径与脚本运行的工作目录匹配

内容的提问来源于stack exchange,提问作者A.Rahman Mahmoud

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 17:45:03