Хочу перейти на последнюю версию VK API (5.103), но бот не реагирует на сообщения, узнал, что в этой версии надо добавлять объект client_info, но как это сделать? Буду очень признателен, если поможете. Желательно ориентироваться на мой код:
<?php
//ключ группы, который мы должны вернуть серверу VK API
$group_token = 'beb...';
//функция отправки сообщений
function vk_msg_send($randomID, $peer_id, $text_msg){
$randomID = rand().time();
//запрашиваем и отправляем параметры серверу
$request_params_msg = array(
'message' => $text_msg,
'random_id' => $randomID,
'peer_id' => $peer_id,
'access_token' => "access_group_token",
'v' => '5.103'
);
$get_params_msg = http_build_query($request_params_msg);
file_get_contents('https://api.vk.com/method/messages.send?'. $get_params_msg);
}
/*создаём переменную, в которой будем получать данные (запрос) от пользователя (через VK API) в виде JSON-файла и декодировать (переводить) их в обычный php
*в дальнейшем трансформируем (производим какие-то действия с этими данными), переводим обратно в JSON-формат и отправляем их VK API, а он уже формирует окончательный ответ для пользователя
*/
$data = json_decode(file_get_contents('php://input'));
//ловим тип данных (события), которые нам отправляет сервер VK API
switch ($data->type) {
//отправляем ответ VK API на запрос 'confirmation' в виде нашего ключа из переменной "group_token" для установки связи с сервером
case 'confirmation':
echo $group_token;
break;
/*подключаемся к событию "message_new"
*ловим и проверяем сообщения
*/
case 'message_new':
$message_text = $data -> object -> text;
$chat_id = $data -> object -> peer_id;
$id_random = $data -> object -> random_id;
// если переменная "message_text" (сообщение пользователя) будет равна указанному нами строковому значению, тогда мы будем отправлять пользователю строковый ответ через переменную "chat_id"
if ($message_text == "привет" || $message_text == "Привет"){
vk_msg_send($id_random, $chat_id, "Привет");
}
else if ($message_text == "пока" || $message_text == "Пока"){
vk_msg_send($id_random, $chat_id, "Пока");
}
else {
vk_msg_send($id_random, $chat_id, "Ты что-то сказал?");
}
//отвечаем этим сообщением на все запросы сервера VK API, чтобы подтвердить, что всё сработало верно и всё ОК
echo 'ok';
break;
}
?>
Видимо ошибка где-то в функции если ты правильно вставил токен и т. д. Попробуй вот такую функцию
$rand = rand(0000000000, 9999999999).time("Ymd");
Функция:
function vk_send($method, $request) {
$get_params = http_build_query($request);
json_decode(file_get_contents(VK_API_ENDPOINT.$method.$get_params.'&access_token='.VK_API_TOKEN.'&v='.VK_API_VERSION));
echo('ok');
}
при этом запрос такой:
$userId = $data->object->peer_id;
$request_params = array(
'random_id' => $rand,
'user_id' => $userId,
'message' => "Привет"
);
//Отправление сообщения
vk_send('messages.send?', $request_params);
У меня работает.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Я заливаю обновления стилей и JS на production, очищаю папки frontend/web/assets и frontend/runtime/cache, очищаю кэш который на сервере, убираю кэш через консоль php yii cache/flush-all,...
Не получается спарсить ссылку на изображение или просто получить доступ к img или даже к figure Находит только пустые пробелыВ дочерних элементах...
У меня есть пример инструкция по созданию REST ApiЯ не понимаю что за обязательный параметр мне нужно обрабатывать
После того как внес верстку в битрикс, мне указывает ошибкуВидимо все в том что, я неправильно расположил синтаксис