我正在尝试将我的代码结果(它们是图像)上传到带有 Telegram 机器人的群组中。
我尝试过:
import requests import numpy as np paths=np.array([]) for z in range(8): paths=np.append(paths,str(f"path\\{z}.jpg")) url="https://api.telegram.org/bot<<my-bot-http-token>>/senddocument?chat_id=<<chat-id>>" for path in paths: files={'document':open(path,'rb')} resp=requests.post(url,files=files)
它可以工作,但是它会单独发送文件,而我想对它们进行分组然后发送。
您正在使用该sendDocument方法,但是,对于分组文件/图像,您需要sendMediaGroup使用一个数组media
sendDocument
sendMediaGroup
media
这里有一个可重现的最小示例,用于发送一组本地照片:
import json import requests chat_id = 1234567 TOKEN = '85916...the-rest-of-your-token' data = { "chat_id": chat_id, "media": json.dumps([ {"type": "photo", "media": "attach://photo1.png"}, {"type": "photo", "media": "attach://photo2.png"} ]) } files = { "photo1.png" : open("./photo1.png", 'rb'), "photo2.png" : open("./photo2.png", 'rb') } temp = requests.post("https://api.telegram.org/bot" + TOKEN + "/sendMediaGroup", data=data, files=files) print(temp.json())