@LebedevImagine

Почему сервер не реагирует на запрос от VK API?

Добрый день, господа программисты.
Пытаюсь создать простейшего бота Вконтакте на PHP, по инструкции но что-то идет не так.

Суть в том, что на проверку мой сервер реагирует и отвечает нужной строкой (событие confirmation), а на другие события он не реагирует. (В настройках сообщества Вконтакте чётко написано, что запрос был послан)5dff399067aaf484651800.png

Код следующий:
<?php

$confirmToken = '450f8570';
$token = 'мой токен';
$group_id = 190089312;
$secretKey = 'мое секретное слово';
$data = json_decode(file_get_contents('php://input'));


switch ($data->type) {
    case 'confirmation':
        echo $confirmToken;
        break;
    case 'message_new':
        $userId = $data->object->from_id;
        $userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.103"));
        $user_name = $userInfo->response[0]->first_name;

        //С помощью messages.send и токена сообщества отправляем ответное сообщение
        $request_params = array(
            'message' => "{$user_name}, ваше сообщение зарегистрировано!<br>".
                            "Мы постараемся ответить в ближайшее время.",
            'user_id' => $userId,
            'access_token' => $token,
            'v' => '5.103'
        );

        $get_params = http_build_query($request_params);

        $result = file_get_contents('https://api.vk.com/method/messages.send?' . $get_params);
        
        setcookie('API', 'true');

        var_dump($result);
        
        //Возвращаем "ok" серверу Callback API
        echo('ok');

        break;
}

В качестве отладки создаю куки, дабы проверить, принял ли мой запрос сервер, или нет. Как итог, в браузере находятся только системные куки и ничего больше. В чем может быть проблема? Куда копать? Подскажите горе-программисту.
  • Вопрос задан
  • 276 просмотров
Решения вопроса 1
@lightmanLP
Задушил питона
$userId = $data->object->message->from_id;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы