@mrdarkness

Как сделать функцию чтобы переслать сообщение одного пользователя другому в vk_api?

Мне нужно чтобы бот на определенном этапе диалога с одним пользователем пересылал сообщения этого пользователя с содержанием его скриншота другому пользователю.

То есть, пользователь в ответ на вопрос бота должен кинуть боту скриншот, а бот должен переслать это сообщение со скриншотом другому пользователю.

На данный момент эта часть кода выглядит вот так:

def step2():
                    msg = responses_session.get('step2')  # предыдущий ответ пользователя со скриншотом
                    global screenshot
                    screenshot = True
                    global ytAttach
                    ytAttach = event.attachments

                    u = vk.users.get(user_ids=[str(event.user_id)])

                    vk.messages.send(
                        random_id=randomGen(1, 9999),
                        user_id=event.user_id,
                        message=msg
                    )
                    print(msgSent(event.user_id, randId, msg))

                    vk.messages.send(
                        forward={
                            'owner_id': event.user_id,
                            'peer_id': event.peer_id,
                            'message_ids': event.message_id,
                            # 'conversation_message_ids': event.message_id,
                        },
                        random_id=randomGen(1, 9999),
                        user_id=224453696,
                        message=partnerRequest(ytLink, event.user_id, u[0]['first_name'], u[0]['last_name']),
                        attachment=ytAttach,
                        keyboard=json.dumps(keyboard_yes_no, ensure_ascii=False)
                    )


С этим кодом выдает ошибку:
vk_api.exceptions.ApiError: [100] One of the parameters specified was missing or invalid: forward contains incorrect JSON

Работаю с этой документацией: https://vk.com/dev/messages.send

Не понимаю, какой именно формат или содержание JSON он от меня ждет. Помогите разобраться.
  • Вопрос задан
  • 800 просмотров
Решения вопроса 1
@mrdarkness Автор вопроса
Нашел решение своей проблемы. Не знаю правда, насколько оно надёжно.

Надо было использовать forward_messages=event.message_id
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Возможно так

import json
forward=json.dump({
                            'owner_id': event.user_id,
                            'peer_id': event.peer_id,
                            'message_ids': event.message_id,
                            # 'conversation_message_ids': event.message_id,
                        })
Ответ написан
Ваш ответ на вопрос

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

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