python273 / vk_api

Модуль для создания скриптов для ВКонтакте | vk.com API wrapper
https://pypi.org/project/vk-api/
Apache License 2.0
1.33k stars 324 forks source link

Загрузка изображений из сети в VkUpload #266

Closed snowlue closed 5 years ago

snowlue commented 5 years ago

Добрый день, попал в затруднительное положение. Хотел воcпользоваться подмодулем VkUpload, чтобы загрузить изображение в сообщения при помощи photo_messages. Делал это двумя способами:

  1. Прогонял через requests и кидал как параметр photos (декодировал в utf-8 тоже пробовал) image
  2. Напрямую подавал url-адрес как параметр photos image

Оба способа, как видно из скриншотов, оказались проигрышными. Также видно, что используется функция open(), которая не принимает на вход url'ы. Есть какая-то альтернатива внутри vk_api или же придётся костылиться обычными методами API?

Жду ответов, заранее спасибо.

P,S. Про неправильное место import'а говорить не надо: файл тестовый

python273 commented 5 years ago

https://github.com/python273/vk_api/blob/master/examples/messages_bot/user_messages_bot.py#L64-L65

snowlue commented 5 years ago

image image image image

В продолжение предыдущему вопросу: изображения по-видимому загружаются на сервер VK, но почему-то не крепятся к сообщению. Смотрите код: изображение рабочее, функция msg() работала в других ботах, upload возвращает результат типа "photo<group_id>_<photo_id>_<access_key>", разделяя каждое фото запятой без пробелов. Пробовал и с access_key и без — не работает. Пробовал передавать не строку, а массив типа ["photo<group_id>_<photo_id>_<access_key>", "photo<group_id>_<photo_id>_<access_key>"...] — тоже не работает. Что делать, подскажите, пожалуйста?