Telegram bot能否识别发送图片的创建时间与来源是相机还是图库?
Telegram Bot 图片相关信息检测解答
1. 区分图片是相机实时拍摄还是图库选取
- Telegram 官方 Bot API 未提供对应字段标识图片上传来源,无论是用户实时拍摄后直接上传,还是从图库选取已有图片上传,接口返回的
photo类型消息结构完全一致,无差异化标记。 - 依赖EXIF信息判断的方案不可靠:Telegram默认会对用户发送的普通图片做压缩处理,过程中会抹去绝大部分EXIF元数据;即使用户发送未压缩原图,EXIF中也不存在标准字段用于标识图片是否为即时拍摄,无法实现稳定判断。
- 结论:无可靠方案实现该检测需求。
2. 获取图片原始创建时间
- 默认场景下无法获取:用户发送普通压缩图片时,Telegram 服务端会清除EXIF信息,接口仅返回消息发送时间,无图片原始时间相关字段。
- 仅在特定场景下可尝试获取:当用户主动选择「以文件形式发送」未压缩原图时,你可以通过
getFile接口拿到原图文件后,解析文件EXIF元数据中的DateTimeOriginal字段,可得到图片原始创建/拍摄时间。 - 注意:该方式存在局限性,一是原图EXIF可能已被用户、设备或其他应用提前清除,二是EXIF信息本身可被人为篡改,结果不具备绝对可信度。
- 结论:仅用户发送未压缩原图时可尝试解析EXIF获取,无普适性方案。
内容的提问来源于stack exchange,提问作者Shrembo
相关产品推荐
相关产品推荐

