Отправка несколько фото в сообщения vk bot
Я реализовал отправку одной фотографии в сообщение хотелось бы отправлять несколько фотографий, ссылки которых я бы перечислял в json файле Test.py
def get_answer(question):
answer_text, answer_photo = None, None
with open('text.json', 'r', encoding="utf-8") as file:
file = json.loads(file.read())
for element in file.keys():
if element in question.lower():
answer_text = file[element]['text'] if '|' not in file[element]['text'] \
else get_random_text(file[element]['text'])
answer_photo = file[element]['photo']
#answer_photo = ['1.jpg', '2.jpg']
break
return answer_text, answer_photo
def get_response(response):
if isinstance(response, dict):
return response.get('response') if response.get('response') else response
return {}
def send_photo(api_token, path, user_id, random_id_count, message_text):
resp = requests.get(f'https://api.vk.com/method/photos.getMessagesUploadServer'
f'?access_token={api_token}&v=5.124')
resp = check_for_captcha(resp)
upload_url = get_response(resp)['upload_url']
upload_resp = requests.post(upload_url, files={'photo': open(path, 'rb')}).json()
save_resp = requests.post(f'https://api.vk.com/method/photos.saveMessagesPhoto?access_token={api_token}&v=5.124',
data={'photo': upload_resp['photo'],
'server': upload_resp['server'],
'hash': upload_resp['hash']}
).json()
photo = "photo{}_{}".format(get_response(save_resp)[0]["owner_id"], get_response(save_resp)[0]["id"])
response = requests.get('https://api.vk.com/method/messages.send'
f'?user_id={user_id}'
f'&message={message_text}'
f'&attachment={photo}'
f'&random_id={random.randint(1000, 9999) + random_id_count}'
f'&access_token={api_token}&v=5.124'
)
return check_for_captcha(response)
Text.json
{
"msg": {
"text": "это сообщение с фотографией",
"photo": ”1.jpg”
}
}
Я понимаю, что в attachment нужно передать ссылки на фото через запятую, но не понимаю как совместить это с моими функциями