@sharkyyy3

Как переслать фото от одного пользователя другому в VK?

Здравствуйте, возник вопрос, как переслать фото от одного пользователя другому.
Вот что передается в <<class 'vk_api.bot_longpoll.VkBotMessageEvent'> в 'attachments'
spoiler
'attachments': [{'type': 'photo', 'photo': {'access_key': '56e2d90bbb91ae012b', 'owner_id': 106XXXXXX, 'album_id': -3, 'id': 456242359, 'text': '', 'sizes': [{'height': 75, 'type': 's', 'url': 'https://pp.userapi.com/c852028/v852028876/e7028/1Frca866Q5Q.jpg', 'width': 75}, {'height': 130, 'type': 'm', 'url': 'https://pp.userapi.com/c852028/v852028876/e7029/wuKuedtFiQA.jpg', 'width': 130}, {'height': 604, 'type': 'x', 'url': 'https://pp.userapi.com/c852028/v852028876/e702a/mRla0liqWRg.jpg', 'width': 604}, {'height': 760, 'type': 'y', 'url': 'https://pp.userapi.com/c852028/v852028876/e702b/6YMoHN3_XbY.jpg', 'width': 760}, {'height': 130, 'type': 'o', 'url': 'https://pp.userapi.com/c852028/v852028876/e702c/fHu8F1o6UYs.jpg', 'width': 130}, {'height': 200, 'type': 'p', 'url': 'https://pp.userapi.com/c852028/v852028876/e702d/H5MtTsR9qB8.jpg', 'width': 200}, {'height': 320, 'type': 'q', 'url': 'https://pp.userapi.com/c852028/v852028876/e702e/unE2tVTbrXY.jpg', 'width': 320}, {'height': 510, 'type': 'r', 'url': 'https://pp.userapi.com/c852028/v852028876/e702f/hR3tuUXqzOA.jpg', 'width': 510}], 'date': 1553413111}}], >

Казалось бы все легко, просто методом message.send в attachment передать 'photo106XXXXXX_456242359_56e2d90bbb91ae012b'
Вот я написал код, казалось бы все работает
atta = event.obj.attachments
buf = []
                for element in atta:
        
                    if element['type'] == 'photo':
                      try:
                             buf.append('photo' + str(element['photo']['owner_id']) + '_' + str(
                             element['photo']['id']) + '_' + str(element['photo']['access_key']))
                             print('в фото есть ключ')
                      except:
                            print('в фото нет ключа')
                            buf.append('photo' + str(element['photo']['owner_id']) + '_' + str(element['photo']['id']))


Но тут не все так гладко, некоторые фотографии все равно отправить не удается, да и к тому же, если присылать более 8 фото в одном сообщении никакого <<class 'vk_api.bot_longpoll.VkBotMessageEvent'> не происходит, ивент не приходит.
Есть какой то другой способ отправки сообщений с вложенными фото?
Возможно с сохранением присылаемого к себе одного фото и последующей отправкой другому пользователю я бы разобрался но если их будет несколько то тут нужен во первых перебор всех фото, затем перебор всех ссылок в ивенте чтобы найти нужный размер для сохранения, дальнейшее их сохранение к себе и загрузка на сервер вк с последующей отправкой, как можно это реализовать? Да и вообще практично ли это будет?
  • Вопрос задан
  • 223 просмотра
Пригласить эксперта
Ответы на вопрос 2
@sharkyyy3 Автор вопроса
Проблема была в невалидном access key. Который передается в <<class 'vk_api.bot_longpoll.VkBotMessageEvent'>.
Ответ написан
Комментировать
@dimamira
Я просто через переслать делаю.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы