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

219
25 марта 2018, 22:16

Здравствуйте. Пишу бота для сообщества на 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", но бот флудит снова тем же сообщением спустя время. В чем может быть проблема? Буду очень благодарен за помощь, несколько дней уже пробую разные вариации кода, и всё безрезультатно пока(

Answer 1

На странице настроек сервера в управлении сообществом можно посмотреть неудавшиеся запросы и их причину.

Скорее всего, скрипт выводит помимо ok что-то еще, например warning или какую-то ошибку, из-за этого ответ считается неверным.

READ ALSO
Laravel Passport oAuth

Laravel Passport oAuth

Пытаюсь разобраться с oauthЧто сделано: - установлен Passport и auth - запущены миграции и т

189
require с параметрами php

require с параметрами php

Здравствуйте, не могу понять, как сделать require с параметрами get

211
Нужна помощь в php нанесение вотрмарок

Нужна помощь в php нанесение вотрмарок

Есть код, который наносит на фото в форматеjpg другое фото в формате

210
проблема с ресайзом png

проблема с ресайзом png

Начало было в прошлом вопросе

218