notm / vk-execute-builder
Vk Execute Builder with vk php sdk
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/notm/vk-execute-builder
Requires
- ext-json: *
- monolog/monolog: ^1.24
- vkcom/vk-php-sdk: ^5.100
This package is not auto-updated.
Last update: 2021-09-16 11:44:39 UTC
README
Использование библиотеки
Библиотека предназначена для констурирования vk запросов в javascript execute код.
Подключение
require __DIR__.'/../vendor/autoload.php'; use SMITExecute\Library\ExecuteRequest; $builder = new ExecuteRequest(); // Конструктор ваших execut'ов
Пример использования
// Добавляем в запросы execut'a messages.getConversations $builder->add( $builder->create() ->setMainMethod("messages") ->setSubMethod("getConversations") ->setParams([ "user_id" => 89481221 ]) ); // Добавляем ещё один запрос users.get $builder->add( $builder->create() ->setMainMethod("users") ->setSubMethod("get") ->setParams([ "user_id" => 89481221, ]) ); $code_strings = $builder->convertToJS(); // Конвертируем код в javascript (Возвращает массив строк javascript'a) $code = implode(PHP_EOL, $code_strings); // Преобразовываем массив в строки. $vk = new VKApiClient('5.00'); $response = $vk->getRequest()->post('execute', "token", [ 'code' => $code, ]);
Парсинг ответов от сервера.
Библиотека конвертирует и группирует ваши запросы в объект, который возвращается с ключом главныйМетод_сабМетод
Пример ответа из примера выше
{
"messages_getConversations": [
{
"count" : 1,
"items" : [
{
"conversation" : {
"peer" : {
"id" : 89481221,
"type" : "user",
"local_id" : 89481221
},
"in_read" : 5,
"out_read":5,
"last_message_id":5,
"can_write":
{
"allowed" : true
},
"current_keyboard" : {
"one_time":true,
"author_id":-184452841,
"buttons":[
["Over 9 levels deep, aborting normalization"]
]
}
},
"last_message" : {
"date" : 1564532387,
"from_id" : -184452841,
"id" : 5,
"out" : 1,
"peer_id" : 89481221,
"text" : "хай",
"conversation_message_id" : 5,
"fwd_messages" : [],
"keyboard": {
"one_time":true,
"author_id":-184452841,
"buttons": [
["Over 9 levels deep, aborting normalization"]
]
},
"important":false,
"random_id":0,
"attachments":[],
"is_hidden":false
}
}
]
}
],
"users_get":[
[
{
"id":89481221,
"first_name":"Андрей",
"last_name":"Кутин"
}
]
]
}
Как вы могли заметить ваши запросы будут группироваться по их типам, все запросы будут представлены массивом ответов от серверов вконтакте
Конкретный пример использования вы можете посмотреть здесь.