@drobysevdanila

Как убрать ошибку Incorrect response text в неудавшихся запросах CallBack API?

При каждом сообщении вылазит такая ошибка в неудавшихся запросах:

Incorrect response text

Вот ответ:

HTTP/1.1 200 OK
Server: nginx-reuseport/1.13.2
Date: Sun, 24 Sep 2017 11:02:57 GMT
Content-Type: text/html
Content-Length: 0
Connection: keep-alive
Keep-Alive: timeout=30
X-Powered-By: PHP/5.6.30

Вот весь код:

bot.php:

<?php
require __DIR__.'/config/config.php';
require __DIR__.'/core/apiVK.php';
$v = new vk();
$confirmation_token = 'токен';
//Ключ доступа сообщества
$token = 'токен';

if (!isset($_REQUEST)) {
  return;
}


//Получаем и декодируем уведомление
$data = $v->get();

//Проверяем, что находится в поле "type"
switch ($data->type) {
  //Если это уведомление для подтверждения адреса сервера...
  case 'confirmation':
    //...отправляем строку для подтверждения адреса
    echo $confirmation_token;
    break;

//Если это уведомление о новом сообщении...
  case 'message_new':
    //...получаем id его автора
    $uid = $data->object->user_id;
  $user_msg = $data->object->body;

    //затем с помощью users.get получаем данные об авторе
    $user_info = $v->usersGet($uid);

//и извлекаем из ответа его имя
  $info = array_shift(json_decode($user_info)->response);
  $uname = $info->first_name;

  //С помощью messages.send и токена сообщества отправляем ответное сообщение

  //Главное Меню
  $user_msg = mb_strtolower($user_msg);
    if (strpos($user_msg, 'команда 1') !== false or strpos($user_msg, 'команда 1-1') !== false or strpos($user_msg, 'команда 1-1-1') !== false) {
      $v->msgsend("ответ на команду", $uid, $token, $attachment);

}elseif ($user_msg == 'команда 2'){
  $v->msgsend("ответ на команду", $uid, $token, $attachment);


// Ответ бота на не понятную команду.
     }else{
     $v->msgsend("
     Я тебя не понимаю.", $uid, $token);
     }
//Возвращаем "ok" серверу Callback API
    echo('ok');
die;
break;
}
?>


apiVK.php:
<?php

class vk {
	const API_VERSION = '5.24';
	const METHOD_URL = 'https://api.vk.com/method/';

	public function get(){
		return json_decode(file_get_contents('php://input'));
	}
  
	public function usersGet($uid){	
		return file_get_contents(self::METHOD_URL."users.get?user_ids={$uid}&v=".self::API_VERSION);
	}
  
    public function msgSend($msg, $uid, $token, $attachment){	
    $request_params = array(
      'message' => $msg,
      'attachment' => $attachment,
      'user_id' => $uid,
      'access_token' => $token,
      'v' => self::API_VERSION
    );
    $get_params = http_build_query($request_params);
    file_get_contents(self::METHOD_URL."messages.send?".$get_params);
  }
	

}

?>
  • Вопрос задан
  • 1372 просмотра
Пригласить эксперта
Ответы на вопрос 1
Ahen
@Ahen
Универсальный дилетант
Отдавать на запрос корректный ответ?
Ответ написан
Ваш ответ на вопрос

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

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