Бот не отправляет сообщения VK API

185
29 ноября 2018, 02:30

Хочу написать своего бота для группы, но он не отправляет сообщения.

if (!isset($_REQUEST)) {
    return;
}
$confirmationToken = 'XXX';
$token = 'XXX';
$secretKey = 'XXX';
$data = json_decode(file_get_contents('php://input'));
if(strcmp($data->secret, $secretKey) !== 0 && strcmp($data->type, 'confirmation') !== 0)
return;
switch ($data->type) {
case 'confirmation':
    die($confirmationToken);
    break;
case 'message_new':
    $userId = $data->object->user_id; //эта строка на сервере выдаёт ошибку
    $userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0"));
    $user_name = $userInfo->response[0]->first_name;//эта строка на сервере выдаёт ошибку
    $request_params = array(
        'message' => "{$user_name}, ваше сообщение отправлено!<br>".
                        "Мы постараемся ответить в ближайшее время.",
        'user_id' => $userId,
        'access_token' => $token,
        'v' => '5.0'
    );
    $get_params = http_build_query($request_params);
    file_get_contents('https://api.vk.com/method/messages.send?' . $get_params);
    echo('ok');
    break;
case 'group_join':
    $userId = $data->object->user_id;
    $userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0"));
    $user_name = $userInfo->response[0]->first_name;
    $request_params = array(
        'message' => "Добро пожаловать в наше сообщество, {$user_name}!<br>" .
                        "Если у Вас возникнут вопросы, то вы всегда можете обратиться к администраторам сообщества.<br>" .
                        "Их контакты можно найти в соответсвующем разделе группы.<br>",
        'user_id' => $userId,
        'access_token' => $token,
        'v' => '5.0'
    );
    $get_params = http_build_query($request_params);
    file_get_contents('https://api.vk.com/method/messages.send?' . $get_params);
    echo('ok');
    break;
case 'group_leave':
    $userId = $data->object->user_id;
    $userInfo = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$userId}&v=5.0"));
    $user_name = $userInfo->response[0]->first_name;
    $request_params = array(
        'message' => "{$user_name}, нам очень жаль прощаться с вами &#128532;<br>" .
                        "Мы всегда будем ждать Вас в нашей уютной компании.<br>",
        'user_id' => $userId,
        'access_token' => $token,
        'v' => '5.0'
    );
    $get_params = http_build_query($request_params);
    file_get_contents('https://api.vk.com/method/messages.send?' . $get_params);
    echo('ok');
    break;
}
echo('ok');
?>

При отправке сообщения группе, на сервер в error_log приходят следующие с строчки:

[30-Aug-2018 11:50:10 UTC] PHP Notice:  Undefined property: stdClass::$user_id in /xxx/index.php on line 34
[30-Aug-2018 11:50:11 UTC] PHP Notice:  Undefined property: stdClass::$response in /xxx/index.php on line 39
[30-Aug-2018 11:50:11 UTC] PHP Notice:  Trying to get property 'first_name' of non-object in /xxx/index.php on line 39

А при вступление в группу эти:

[30-Aug-2018 11:55:05 UTC] PHP Notice:  Undefined property: stdClass::$response in /xxx/index.php on line 68
[30-Aug-2018 11:55:05 UTC] PHP Notice:  Trying to get property 'first_name' of non-object in /xxx/index.php on line 68

Он не может получить user_id и всё остальное.

READ ALSO
Перебор и удаление дублей массива

Перебор и удаление дублей массива

Существует вот такой массив:

163
Rest авторизация на Yii2

Rest авторизация на Yii2

Пытаюсь реализовать авторизацию через rest, возникла проблема с доступом в кабинетBehaviors не использую, то есть успешно провожу аутентификацию...

179
PHP mPDF in Yi2 Image error! Нужна помощь

PHP mPDF in Yi2 Image error! Нужна помощь

Столкнулся с проблемойЕсть код в HTML, внутри которого есть (png)

180