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

如何使用Python的Telegram Bot打包发送多张图片文件

解决方案:将多张图片打包为压缩包后发送

要实现批量图片打包发送,你可以先把所有图片压缩成一个ZIP文件,再通过sendDocument接口发送这个压缩包,具体修改如下:

修改后的代码

import requests
import numpy as np
import zipfile
import os

# 生成图片路径列表
paths = np.array([])
for z in range(8):
    paths = np.append(paths, f"path\\{z}.jpg")

# 创建临时ZIP压缩包
zip_filename = "images.zip"
with zipfile.ZipFile(zip_filename, 'w', zipfile.ZIP_DEFLATED) as zipf:
    for path in paths:
        # 只保留文件名,避免压缩包里带路径层级
        zipf.write(path, os.path.basename(path))

# 发送压缩包到Telegram群组
url = "https://api.telegram.org/bot<<my-bot-http-token>>/senddocument?chat_id=<<chat-id>>"
files = {'document': open(zip_filename, 'rb')}
resp = requests.post(url, files=files)

# 可选:删除临时生成的ZIP文件
os.remove(zip_filename)

关键说明

  • 使用zipfile.ZipFile创建压缩包,ZIP_DEFLATED参数开启压缩(不需要压缩可改用ZIP_STORED)
  • zipf.write的第二个参数指定压缩包内的文件名,避免把本地路径结构带进压缩包
  • 发送完成后可删除临时ZIP文件,避免占用存储空间
  • 确保Bot有发送文件的权限,且压缩包大小不超过Telegram的文件大小限制(当前为50MB)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 10:52:07