PHP code example of ostiwe / vksaver

1. Go to this page and download the library: Download ostiwe/vksaver library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ostiwe / vksaver example snippets


[
    162768498 => [ // В качестве ключа используется ID сообщества
        'post_interval' => 2, // Интервал между постами (в часах)
        'liked_only' => true, // Если в посте несколько картинок, брать те, что с лайком
        'confirmation_code' => '91sj188x', // Код подтверждения сервера
        'secret' => 'super_puper1secret0code', // Секретный ключ Callback сервера
        'access_token' => '31xz6bb054765b2c4d52472c5dc615ea7b2ds88e9', // API токен сообщества (подробнее ниже)
        'name' => 'Pubj' // Короткое имя для класса-обработчика
    ],
    //...
];

$data = json_decode(file_get_contents('php://input'), true);
$ostiwe->callbackHandler($data);

$ostiwe->setHandlersPatch(__DIR__ . '/Classes');

class NameHandler extends \Ostiwe\Handlers\PubHandler {}

use Ostiwe\Handlers\PubHandler;
class NameHandler extends PubHandler {}

 'plugin' => [
        'secret' => 'super_puper1secret0code',
    ]

$requestData = json_decode(file_get_contents('php://input'), true);
$groups = [
    153626005 => [
        'post_interval' => 2, // hours
        'liked_only' => true,
        'confirmation_code' => 'confirmation code for server',
        'secret' => 'superSecret918s_ds',
        'access_token' => 'group access token',
        'name' => 'AnyName'
    ],
    'plugin' => [
        'secret' => 'superSecret918s_ds',
    ],
];
$ostiwe = new \Ostiwe\Client\UserClient('you vk id', 'you profile token', $groups);

$ostiwe->setHandlersPatch(__DIR__ . '/Classes');

try {
    $ostiwe->callbackHandler($requestData);
} catch (Exception $e) {
    // do something...
}

use Ostiwe\Handlers\PubHandler;

class AnyNameHandler extends PubHandler
{
    public function __construct($userToken, $userId, $pubToken, $pubId)
    {
        parent::__construct($userToken, $userId, $pubToken, $pubId);
    }

    /**
     * @param array $attachmentsList
     * @param array $pubParams
     * @param string $postText
     * @throws Exception
     */
    public function handle(array $attachmentsList, array $pubParams, string $postText = '')
    {
        parent::handle($attachmentsList, $pubParams, $postText); // TODO: Change the autogenerated stub
    }

    /**
     * @param array $pubParams
     * @param array $attachmentsList
     * @param string $postText
     * @return array
     * @throws Exception
     */
    public function post(array $pubParams, array $attachmentsList, $postText = '')
    {
        return parent::post($pubParams, $attachmentsList, $postText); // TODO: Change the autogenerated stub
    }

    /**
     * @param string $message
     * @param array $attachments
     * @throws Exception
     */
    public function sendNotificationMessage(string $message, array $attachments = [])
    {
        parent::sendNotificationMessage($message, $attachments); // TODO: Change the autogenerated stub
    }

}

public function handle(array $attachmentsList, array $pubParams, string $postText = '')
    {
        try {
            $postInfo = $this->post($pubParams, $attachmentsList,$postText);
        } catch (Exception $e) {
            throw new Exception($e->getMessage(), null, $e);
        }
        $postDate = date('d.m.Y в H:i', $postInfo['date']);
        $textMessage = "Пост будет опубликован $postDate <br>";
        $textMessage .= "vk.com/wall-{$this->pubId}_{$postInfo['post_id']}";

        try {
            $this->sendNotificationMessage($textMessage);
        } catch (Exception $e) {
            throw new Exception($e->getMessage(), null, $e);
        }
    }

// Пример из рабочего скрипта
 public function handle(array $attachmentsList, array $pubParams, string $postText = '')
    {
        parent::sendNotificationMessage("Начинаю закидывать выбранные вами картинки в отложку", $attachmentsList);
        parent::handle($attachmentsList, $pubParams, $postText); // TODO: Change the autogenerated stub
    }

 public function handle(array $attachmentsList, array $pubParams, string $postText = '')
    {
        // Ваш код...
    }