farit-slv / vk-execute-builder
Vk Execute Builder with vk php sdk
Installs: 152
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 1
pkg:composer/farit-slv/vk-execute-builder
Requires
- ext-json: *
- monolog/monolog: ^1.24
- vkcom/vk-php-sdk: ^5.101
This package is auto-updated.
Last update: 2025-10-23 12:02:40 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":"Кутин"
      }
    ]
  ]
}
Как вы могли заметить ваши запросы будут группироваться по их типам, все запросы будут представлены массивом ответов от серверов вконтакте
Конкретный пример использования вы можете посмотреть здесь.