Как к сообщению бота ВК прикрепить фото сохранённое на пк?
Код запускаю на пк, фото на пк в той же директории что и код . C:\Users\Ser\Desktop\bot\1.jpg
Помогите, кучу примеров на эту тему пересмотрела, но ничего не вышло. Языками программирования не увлекаюсь(сложна) просто хотелось разовую приколюшку сделать)
import vk_api
import time
import random
token = "..."
vk = vk_api.VkApi(token=token)
vk._auth_token()
while True:
try:
messages = vk.method("messages.getConversations", {"offset": 0, "count": 20, "filter": "unanswered"})
if messages["count"] >= 1:
id = messages["items"][0]["last_message"]["from_id"]
body = messages["items"][0]["last_message"]["text"]
if body.lower() == "Привет":
vk.method("messages.send", {"peer_id": id, "message": "Привет", "random_id": random.randint(1, 2147483647)})
elif body.lower() == "Котик":
vk.method("messages.send", {"peer_id": id, "message": "Держи", "random_id": random.randint(1, 2147483647)})
# вот тут надо добавить к сообщению фото с пк
else:
vk.method("messages.send", {"peer_id": id, "message": "Я тебе не Siri, я могу только котиков отправлять", "random_id": random.randint(1, 2147483647)})
except Exception as E:
time.sleep(1)
Вот код -
https://pastebin.com/K1zaDCMT
Я так поняла это надо куда-то впихнуть, но куда...
attachments = []
from vk_api import VkUpload
upload = VkUpload(vk_session)
image_url = 'Ссылка на картинку'
image = session.get(image_url, stream=True)
photo = upload.photo_messages(photos=image.raw)[0]
attachments.append(
'photo{}_{}'.format(photo['owner_id'], photo['id'])
)
vk.messages.send(
user_id=event.user_id,
attachment=','.join(attachments),
message='Ваш текст'
)
или это
def photo_messages(self, photos):
""" Загрузка изображений в сообщения
:param photos: путь к изображению(ям) или file-like объект(ы)
:type photos: str or list
"""
url = self.vk.photos.getMessagesUploadServer()['upload_url']
with FilesOpener(photos) as photo_files:
response = self.http.post(url, files=photo_files)
return self.vk.photos.saveMessagesPhoto(**response.json())