json = {"chat_id":chat_id, "media":[{"type" : "photo", "media" : "attach://photo1.jpg"}, {"type" : "photo", "media" : "attach://photo2.jpg"}]}
files = {"photo1.jpg" : open(r"../photo1.jpg", 'rb'), "photo2.jpg" : open(r"../photo2.jpg", 'rb')}
temp = r.post("https://api.telegram.org/bot<TOKEN>/sendMediaGroup", json=json, files=files)
print(temp.json())
我不断收到这样的回复:
{'ok': False, 'error_code': 400, 'description': 'Bad Request: parameter "media" is required'}
如何使用多部分/表单数据发送
photo.jpg
和 sendMediaGroup
?
我建议将
data
与自定义字典一起使用。
那么你唯一需要注意的是
media
内部的data
数组,应该使用json.dumps
进行JSON编码
所以代码变成:
import json
import requests as r
#####
chat_id = 1010011
TOKEN = 'ABCDEF....'
#####
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 = r.post("https://api.telegram.org/bot" + TOKEN + "/sendMediaGroup", data=data, files=files)
print(temp.json())
如何发送带有图像的文本?