@ser6596

Как к сообщению бота ВК прикрепить фото сохранённое на пк?

Как к сообщению бота ВК прикрепить фото сохранённое на пк?

Код запускаю на пк, фото на пк в той же директории что и код . 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())
  • Вопрос задан
  • 2197 просмотров
Пригласить эксперта
Ответы на вопрос 2
@trofimovdev
Python
Вот пример прикрепления картинки с компьютера.
Ответ написан
Комментировать
@hacker123211
Здравствуйте, если у вас есть вопрос то пишите:
https://vk.com/hacker123211
https://t.me/Kiber_play
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы