farit-slv / vk-execute-builder
Vk Execute Builder with vk php sdk
0.0.1
2020-12-23 01:33 UTC
Requires
- ext-json: *
- monolog/monolog: ^1.24
- vkcom/vk-php-sdk: ^5.101
This package is auto-updated.
Last update: 2024-10-23 09:54: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":"Кутин" } ] ] }
Как вы могли заметить ваши запросы будут группироваться по их типам, все запросы будут представлены массивом ответов от серверов вконтакте
Конкретный пример использования вы можете посмотреть здесь.