24
Мар
2018

Дублирование ответов бота сообщества / callback vk api

Здравствуйте. Пишу бота для сообщества на php, используя callback api. Проблема в том, что на каждый мое сообщение бот сразу отправляет один ответ, и спустя несколько секунд снова присылает его же (от 6 секунд где-то до нескольких минут дублированное сообщение получаю).. Искал ответ в поисковике, пишут что нужно отправлять вк ответ 200, и строку "ok". Делаю так:

  $event = _callback_getEvent();
  try
  {
	switch ($event['type'])
	{
	  case 'confirmation': { _callback_handleConfirmation(); break; }//Подтверждение сервера
	  case 'message_new':
	  {
		  	vkApi_messagesSend($event['object']['user_id'], "Привет!");
		  	header("HTTP/1.1 200 OK");
		  	echo "ok";
		  	exit;// !
		break;
	  }
	  default:  { file_put_contents('123.log',  "default!!!\n", FILE_APPEND); break; }
	}
  }
  catch (Exception $e) { log_error($e); }
  //
  _callback_okResponse();


function _callback_okResponse() { header("HTTP/1.1 200 OK"); _callback_response('ok'); }

function vkApi_messagesSend($peer_id, $message, $attachments = array())
{
  $random = rand(1, 1000000);
  return _vkApi_call('messages.send', array(
    'peer_id'    => $peer_id,
    'message'    => $message,
    'random_id'  => $random,
    'read_state' => 1,
    'attachment' => implode(',', $attachments)
  ));
}

Суть именно в case 'message_new' -- отправляю ответ, ставлю ответ 200, строку "ok", но бот флудит снова тем же сообщением спустя время. В чем может быть проблема? Буду очень благодарен за помощь, несколько дней уже пробую разные вариации кода, и всё безрезультатно пока(

Источник: https://ru.stackoverflow.com/questions/803895/%D0%94%D1%83%D0%B1%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%BE%D0%B2-%D0%B1%D0%BE%D1%82%D0%B0-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0-callback-vk-api

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

Добавить комментарий