Vk api, как переслать вложения из сообщения от лица бота?
в общем мучаюсь с данной проблемой уже около недели, дело в том что я делаю анонимного чат бота вк, и бот должен принимать сообщения и вложения от одного пользователя и отправлять от своего лица другому, переотправку сообщений я без проблем сделал, а вот на вложениях конкретно увяз, никак не могу взять вложения из сообщения одного пользователя, и отправить другому, перечитал всю доку, писал в тп, везде советуют заливать вложение заново, но как я залью заново в вк вложение которого у меня даже нет? У меня получилось сделать переотправку вложений, но почему-то только себе, с другими пользователями не работает, в общем выручайте.
//Убираем префикс
$mess=mb_strtolower($message);
if(!empty($data->object->message->attachments[0])){
$get_id=$peer_Id;
$type=$data->object->message->attachments[0]->type;
$owner_id=$data->object->message->attachments[0]->$type->owner_id;
$photo_id=$data->object->message->attachments[0]->$type->id;
$access_key=$data->object->message->attachments[0]->$type->access_key;
$request_params = [
'message' => $mess,
'peer_id' => $get_id,
'attachment'=>"{$type}{$owner_id}_{$photo_id}_{$access_key}",
'random_id' => "0",
'access_token' => $token,
'v' => '5.103'
];
$get_params = http_build_query($request_params);
file_get_contents('https://api.vk.com/method/messages.send?'. $get_params);
echo 'ok';
break;
};
Ответы (1 шт):
Как сказано в официальной документации каждое сообщение содержит поле attachments, в котором передаются все медиа файлы. Вам просто нужно взять оттуда файлы и отправить их. Более подробное описание этого поля представлено здесь
Update: Не пытайтесь переслать access key вложения другим пользователям, у вас это не выйдет. Ваши сообщения и соответственно вложения к ним можете просматривать только вы и тот человек, который отправил их вам. Все ваши попытки показать это вложение другим пользователям будут пресечены VK. Скачайте вложение и отправьте его другому пользователю