13
Авг
2017

Callback API ВКонтакте отправляет сообщение несколько раз

Пишу бота для группы. Надо чтобы отправлял сообщение при выходе юзера из группы. Все работает, но отправляется несколько раз. Сервер возвращает 'ok', в списке неудавшихся запросов ничего нового не появляется, а сообщения все равно сам отправляет. Кто может помочь?

<?php
//tokens
$token = "здесь токен";
$ctoken = "здесь конфирмэйшн токен";

$input = json_decode(file_get_contents('php://input'));

switch($input->type){
case "confirmation":
echo $ctoken;
break;

case 'message_new':
$uid = $input->object->user_id;
$uinfo = json_decode(file_get_contents('https://api.vk.com/method/users.get?user_ids='.$uid.'&v=5.2&&fields=photo_id&lang=ru'));
$user_name = $uinfo->response[0]->first_name;
$messages = [
'/name' => $user_name,
'/lastname' => $uinfo->response[0]->last_name,
'/fullname' => $user_name.' '.$uinfo->response[0]->last_name,
'/id' => $uid,
'/help' => '/name - ваше имя /lastname - ваша фамилия /fullname - ваше полное имя /id - ваш айди'
];
foreach($messages as $com => $ans){
if($input->object->body == $com){
$message = $ans;
}
}
$reqpar = array(
'user_id' => $uid,
'message' => $message,
'attachment' => 'photo'.$uinfo->response[0]->photo_id,
'access_token' => $token
);
$getpar = http_build_query($reqpar);
$sendmsg = json_decode(file_get_contents('https://api.vk.com/method/messages.send?'.$getpar));
exit('ok');
break;

case 'wall_post_new':
$uid = $input->object->from_id;
$uinfo = json_decode(file_get_contents('https://api.vk.com/method/users.get?user_ids='.$uid.'&v=5.2&lang=ru'));
$reqpar = array(
'user_id' => '176628549',
'message' => $uinfo->response[0]->first_name.' '.$uinfo->response[0]->last_name.' (https://vk.com/id'.$uid.') оставил новую запись на стене вашей группы с содержанием: ""'.$input->object->text.'"',
'access_token' => $token
);
$getpar = http_build_query($reqpar);
$sendmsg = json_decode(file_get_contents('https://api.vk.com/method/messages.send?'.$getpar));
exit('ok');
break;

default:
exit('ok');

}
?>

Источник: https://ru.stackoverflow.com/questions/705447/callback-api-%D0%92%D0%9A%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D0%B5-%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D1%82-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%80%D0%B0%D0%B7

Share

Тебе может это понравится...