# Подключение

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

# create

С помощью метода create можно получить авторизацию для работы с ВК.
Есть три типа авторизации:

# Используя токен пользователя или сообщества

# Параметры метода

# Название Тип Описание
1 token* string Токен пользователя или сообщества
2 version* string Версия VK API
$vk = vk::create(ТОКЕН, '5.126');

# Используя логин и пароль от аккаунта ВК

# Параметры метода

# Тип Описание
1 string Логин от аккаунта
2 string Пароль от аккаунта
3 int Версия VK API
$vk = vk::create('88005553535', 'my_password', '5.126');

# Используя экземпляр класса Auth

# Параметры метода

# Тип Описание
1 Auth object Экземпляр класса Auth
use DigitalStars\SimpleVK\Auth;
$auth = Auth::create(ВАШ_СПОСОБ_АВТОРИЗАЦИИ);
$vk = vk::create($auth);

# setConfirm

Используется для отправки строки, которую должен вернуть сервер при подтверждении Callback сервера в настройках сообщества

# Параметры метода

# Название Тип Описание
1 str* string Строка подтверждения сервера

# Возвращает

$this - экземпляр класса, который вызвал этот метод

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126')->setConfirm('6628bb69');

# setSecret

Используется для установки секретного ключа, заданного вами в настройках Callback сервера сообщества. Метод автоматически проверяет, прислал ли ВК в событии эту строку. Если строка не сойдется или будет отсутствовать, то метод завершит работу скрипта с текстом security error

# Параметры метода

# Название Тип Описание
1 str* string Секретный ключ

# Возвращает

$this - экземпляр класса, который вызвал этот метод

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126')->setSecret('my_secret_str')->setConfirm('6628bb69');

# retryRequestsProcessing

Статичный метод, отвечающий за обработку повторных callback запросов, которые ВК отправляет, если в ответе работы скрипта было что-то кроме ok

По умолчанию повторные запросы не обрабатываются и без использования этого метода

# Параметры метода

# Название Тип Описание
1 flag bool true если повторные запросы надо обрабатывать, и false если не надо

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

vk::retryRequestsProcessing(true); //включает обработку повторных запросов
$vk = vk::create(ТОКЕН, '5.126');

# errorSuppression

Статичный метод, отвечающий за подавление ошибок VK API. По умолчанию ошибки не подавляются и при их возникновении будет выброшен Exception. Если включить подавление, то в случае ошибки метод будет возвращать ответ с описанием ошибки не выбрасывая Exception

# Параметры метода

# Название Тип Описание
1 flag bool true для подавления ошибок, и false если не надо

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

vk::errorSuppression(true); //включает подавление ошибок
$vk = vk::create(ТОКЕН, '5.126');
$result = $vk->userInfo(-1);
print $result['error']['error_msg']; //Invalid user id

# disableSendOK

Статичный метод, отвечающий за выполнение специального метода для отправки ok для ВК и обрывания соединения (ВК думает, что скрипт завершил работу и ответил ok, даже если скрипт все еще выполняется. Это сделано, чтобы ВК не начал присылать повторные запросы из-за слишком долго выполняющегося скрипта)

По умолчанию этот метод отправляет ok, даже если его не использовать

# Параметры метода

# Название Тип Описание
1 flag bool true если нужно выключить, и false если не надо

# Примеры использованияph

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

vk::disableSendOK(true); //выключает отправку ok и обрыв соединения с ВК
$vk = vk::create(ТОКЕН, '5.126');

# initVars

Метод принимает переменные по ссылке и записывает в них определенные значения из пришедшего от ВК события, если они доступны. Если данные не пришли, то в переменные будет передан null

# Параметры метода

# Название Тип Будет передано значение
1 &id int $data['object']['peer_id']
1 &user_id int $data['object']['from_id'] или $data['object']['user_id']
1 &type string $data['type']. Название пришедшего события
1 &message string $data['object']['text']
1 &payload array $data['object']['payload']
1 &msg_id int $data['id']
1 &attachments array Сформированный массив вложений, разбитый по категориям

# Возвращает

Массив с данными пришедшего события

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
//в $data хранится все данные события
$data = $vk->initVars($peer_id, $user_id, $type, $message, $payload, $msg_id, $attachments);
if($type == 'message_new') { //проверяем тип события
    $vk->reply("Твой user_id - ".$user_id);
}

# Дополнительные возможности и их разбор

  • Вы можете менять названия переменных, но нельзя менять их порядок
  • Вы можете использовать не все переменные, а только несколько первых:
$vk->initVars($id, $user_id, $type, $message);
  • Если какие-то переменные не используются, их можно заменить на null для большей читаемости кода:
$vk->initVars($id, null, null, $message);
  • У метода нет привязки к событиям. Например, если в пришедшем событии есть поле $data['object']['text'], то оно будет записано в соответствующую переменную, чтобы оно не значило
  • В скором времени с помощью этого метода можно будет работать с данными из user longpoll

# initPeerID

Метод принимает переменную по ссылке и записывает в нее значение $data['object']['peer_id'] из пришедшего события, если такое поле есть. Если нет, то записывает null

# Параметры метода

# Название Тип Описание
1 id* int peer_id

# Возвращает

$this - экземпляр класса, который вызвал этот метод

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->initPeerID($id);

Также можно использовать цепочку вызовов

$vk = vk::create(ТОКЕН, '5.126')->initPeerID($id);

# initText

Метод принимает переменную по ссылке и записывает в нее значение $data['object']['text'] из пришедшего события, если такое поле есть. Если нет, то записывает null

# Параметры метода

# Название Тип Описание
1 text* string text

# Возвращает

$this - экземпляр класса, который вызвал этот метод

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->initText($text);

Также можно использовать цепочку вызовов

$vk = vk::create(ТОКЕН, '5.126')->initText($text);

# initPayload

Метод принимает переменную по ссылке и записывает в нее значение $data['object']['payload'] в виде массива из пришедшего события, если такое поле есть. Если нет, то записывает null

# Параметры метода

# Название Тип Описание
1 payload* array payload

# Возвращает

$this - экземпляр класса, который вызвал этот метод

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->initPayload($payload);

Также можно использовать цепочку вызовов

$vk = vk::create(ТОКЕН, '5.126')->initPayload($payload);

# initUserID

Метод принимает переменную по ссылке и записывает в нее значение $data['object']['from_id'] или $data['object']['user_id'] в виде массива из пришедшего события, если такое поле есть. Если нет, то записывает null

# Параметры метода

# Название Тип Описание
1 user_id* int user_id

# Возвращает

$this - экземпляр класса, который вызвал этот метод

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->initUserID($user_id);

Также можно использовать цепочку вызовов

$vk = vk::create(ТОКЕН, '5.126')->initUserID($user_id);

# initType

Метод принимает переменную по ссылке и записывает в нее значение $data['type'] в виде массива из пришедшего события, если такое поле есть. Если нет, то записывает null

# Параметры метода

# Название Тип Описание
1 type* string Название события

# Возвращает

$this - экземпляр класса, который вызвал этот метод

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->initType($type);

Также можно использовать цепочку вызовов

$vk = vk::create(ТОКЕН, '5.126')->initType($type);

# initData

Метод принимает переменную по ссылке и записывает в нее массив данных пришедшего события

# Параметры метода

# Название Тип Описание
1 data* array Данные события

# Возвращает

$this - экземпляр класса, который вызвал этот метод

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->initData($data);

Также можно использовать цепочку вызовов

$vk = vk::create(ТОКЕН, '5.126')->initData($data);

# initMsgID

Метод принимает переменную по ссылке и записывает в нее значение $data['object']['id'] в виде массива из пришедшего события, если такое поле есть. Если нет, то записывает null

# Параметры метода

# Название Тип Описание
1 mid* int ID сообщения

# Возвращает

$this - экземпляр класса, который вызвал этот метод

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->initMsgID($mid);

Также можно использовать цепочку вызовов

$vk = vk::create(ТОКЕН, '5.126')->initMsgID($mid);

# initConversationMsgID

Метод принимает переменную по ссылке и записывает в нее значение $data['object']['conversation_message_id'] в виде массива из пришедшего события, если такое поле есть. Если нет, то записывает null

# Параметры метода

# Название Тип Описание
1 cmid* int conversation_message_id

# Возвращает

$this - экземпляр класса, который вызвал этот метод

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->initConversationMsgID($cmid);

Также можно использовать цепочку вызовов

$vk = vk::create(ТОКЕН, '5.126')->initConversationMsgID($cmid);

# getAttachments

# Возвращает

Сформированный массив вложений из события, разбитый по категориям

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$attachments = $vk->getAttachments();
//добавить сюда пример

# clientSupport

Метод принимает переменные по ссылке и записывает в нее данные о поддержке возможностей клиента

# Параметры метода

# Название Тип Описание
1 &keyboard bool поддерживается ли клавиатура ботов клиентом
2 &inline bool поддерживается ли inline-клавиатура ботов клиентом
2 &carousel bool поддерживаются ли карусели (opens new window) клиентом
3 &button_actions array массив кнопок, которые поддерживает клиент
3 &lang_id int id (opens new window) используемого языка

# Возвращает

Массив $data['object']['client_info']

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$support = $vk->clientSupport($keyboard, $inline, $carousel, $button_actions, $lang_id);
if($keyboard) {
    //клавиатура поддерживается
}

# Дополнительные возможности и их разбор

  • Вы можете менять названия переменных, но нельзя менять их порядок
  • Вы можете использовать не все переменные, а только несколько первых:
$vk->clientSupport($keyboard, $inline);
  • Если какие-то переменные не используются, их можно заменить на null для большей читаемости кода:
$vk->clientSupport($keyboard, null, null, $buttons);

# group

Метод нужен для вызова методов ВК от лица сообщества, в котором текущий пользователь является админом. Используется, когда у вас нет токена от сообщества, но нужно выполнить какой-то действие в сообществе от вашего лица.

# Параметры метода

# Название Тип Описание
1 id string id группы. Положительное число

# Возвращает

$this - экземпляр класса, который вызвал этот метод

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН_ЮЗЕРА, '5.126')->group(3344678);
$vk->msg('Пишу от лица группы!')->send(123456);

# reply

Метод для отправки сообщения туда, откуда пришло событие (лс/беседа)

# Параметры метода

# Название Тип Описание
1 message* string Сообщение

# Возвращает

Результат выполнения метода messages.send (opens new window)

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->reply("Привет, я бот");

Если вам нужно добавить доп параметры для messages.send, то отправляйте сообщение через класс Message

# json_online

Получить ссылку на отображение переданного массива/json в виде json дерева на сайте https://jsoneditoronline.org/ (opens new window). Удобно использовать при дебаге больших массивов.

Если не передавать в метод данные, то по умолчанию будет сформирована ссылка с данными события пришедшего от ВК.

# Параметры метода

# Название Тип Описание
1 data json|array Массив или json

# Возвращает

Ссылку на https://jsoneditoronline.org/ (opens new window) с данными

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$url = $vk->json_online();
$vk->reply("Визуализация данных этого события: $url");
$url2 = $vk->json_online([1,2,3 => '4']);
$vk->reply("Визуализация массива: $url2");

# request

Используется для вызова любого метода VK API, который есть в документации ВК

# Параметры метода

# Название Тип Описание
1 method* string Название метода
2 params array Ассоциативный массив параметров

# Возвращает

Массив response с результатом выполнения метода ВК в случае успешного выполнения и Exception в случае ошибки

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->request('messages.send', ['message' => 'Привет', 'user_id' => 89846036]);

Также есть укороченная версия request. Чтобы использовать ее, вы должны вызвать название метода от экземпляра класса ВК с заменой . на _. В этом режиме метод принимает только один параметр - params

$vk->messages_send(['message' => 'Привет', 'user_id' => 89846036]);

# userInfo

Возвращает информацию о пользователе. Обертка над users.get (opens new window)

# Параметры метода

# Название Тип Описание
1 users_url string|int|array Ссылка на пользователя в любом виде или user_id или массив пользователей в виде user_id или ссылок
2 fields array|string Одно или несколько дополнительных полей в виде массива или строки
3 name_case string Падеж для склонения имени и фамилии пользователя

# Возвращает

Первый элемент массива response из результата выполнения users.get, если информация запрашивалась по одному пользователю. Иначе возвращает несколько массивов с данными.

Если вызвать без параметров с токеном пользователя, то метод вернет информацию о текущем аккаунте.

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->userInfo('https://vk.com/durov');
$vk->userInfo(['https://vk.com/durov', 2, 3]);
//или
$info = $vk->userInfo(1, 'sex', 'dat');
print_r($info);
/*[
'first_name' => 'Павел',
'id' => 1,
'last_name' => 'Дуров',
'can_access_closed' => true,
'is_closed' => false,
'sex' => 2
]*/

# groupInfo

Возвращает информацию о группах. Обертка над groups.getById (opens new window)

# Параметры метода

# Название Тип Описание
1 group_url string|int|array Ссылка на сообщество в любом виде или group_id
2 fields array|string Одно или несколько дополнительных полей в виде массива или строки

# Возвращает

Первый элемент массива response из результата выполнения groups.getById, если информация запрашивалась по одному сообществу. Иначе возвращает несколько массивов с данными.

Если вызвать без параметров с токеном сообщества, то метод вернет информацию о текущем сообществе.

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->groupInfo('https://vk.com/tower_of_destiny');
$vk->groupInfo(['https://vk.com/tower_of_destiny', 1234], 'description');
//или
$info = $vk->groupInfo(193655066);
print_r($info);
/*[
"id" => 193655066,
"name" => "Башня судьбы",
"screen_name" => "tower_of_destiny",
"is_closed" => 0,
... etc.
]*/

# setProxy

Установка проксирования трафика через socks4/socks5

# Параметры метода

# Название Тип Описание
1 proxy* string Адрес прокси-сервера
2 pass string Пароль, если есть

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

vk::setProxy("socks4://185.37.211.222:43358");
$vk = vk::create(ТОКЕН, '5.126');

# placeholders

Делает алиас используя id того, от кого пришло событие, либо подставив необходимый id.
Это работает как с пользователями, так и с сообществами.

Если событие от сообщества, то любой плейсхолдер будет заменен на полное название сообщества с упоминанием или без

# Возможные варианты:

~fn~ - Имя
~!fn~ - Имя в виде упоминания [id|Имя]
~ln~ - Фамилия
~!ln~ - Фамилия в виде упоминания [id|Фамилия]
~full~ - Имя Фамилия
~!full~ - Имя Фамилия в виде упоминания [id|Имя Фамилия] Можно явно указать через черту какой id необходимо использовать:
~!full|418618~ - [id418618|Имя Фамилия] Также можно давать свое название для упоминания:

В таком случае не нужно указывать !
~Мое сообщество|-418619~ - заменит на [club418619|Мое сообщество]
~Мой друг|418618~ - заменит на [id418618|Мой друг]

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->reply('Привет ~full~'); //Привет Имя Фамилия
$vk->reply('Привет ~!full~'); //Привет [id|Имя Фамилия]
print $vk->placeholders('~ln|1~'); //Дуров

# generatorRequest

Универсальный генератор запросов для всех методов, в которых есть count и offset. Автоматически смещает offset, пока не получит все items

# Параметры метода

# Название Тип Описание
1 method* string Метод из vk api
2 params array Параметры для метода
3 count int Количество items за раз. По умолчанию 200

# Возвращает

Generator

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$generator = $vk->generatorRequest('groups.getMembers', ['group_id' => 1]);
foreach ($generator as $member) {
    print $member; //id одного участника
}

# getAllWalls

Получить все посты со стены сообщества или пользователя. Готовый генератор с оберткой над wall.get (opens new window)

# Параметры метода

# Название Тип Описание
1 id int peer_id
2 extended bool Возвращать ли расширенную информацию
3 filter string Фильтр типов записей
4 fields string Дополнительные поля, разделенные запятыми

# Возвращает

Generator

Если не указать id, то вернет посты владельца токена(сообщество или пользователь)

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
foreach ($vk->getAllWalls(1) as $post) {
    print_r($post);
}

# getAllGroupsFromUser

Получить все сообщества пользователя. Готовый генератор с оберткой над groups.get (opens new window)

# Параметры метода

# Название Тип Описание
1 user_id int user_id
2 extended bool Возвращать ли расширенную информацию
3 filter string Фильтр сообществ
4 fields string Дополнительные поля, разделенные запятыми

# Возвращает

Generator

Если не указать user_id при использовании токена юзера, то вернет группы владельца токена

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
foreach ($vk->getAllGroupsFromUser() as $group) {
    print_r($group);
}

# getAllMembers

Получить всех участников сообщества. Готовый генератор с оберткой над groups.getMembers (opens new window)

# Параметры метода

# Название Тип Описание
1 group_id int group_id
2 sort bool Сортировка
3 filter string Фильтр
4 fields string Дополнительные поля, разделенные запятыми

# Возвращает

Generator

Если не указать group_id при использовании токена сообщества, то вернет участников этого сообщества

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
foreach ($vk->getAllMembers() as $member) {
    print $member;
}

# getAllComments

Получить все комментарии поста. Готовый генератор с оберткой над wall.getComments (opens new window)

# Параметры метода

# Название Тип Описание
1 owner_id_or_url* int|string id владельца или ссылка на пост
2 post_id int Если передана ссылка в первом параметре, то этот не обязателен
3 sort string Сортировка. По умолчанию asc
4 extended bool Возвращать дополнительные поля
5 fields string Дополнительные поля, разделенные запятыми

# Возвращает

Generator

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$generator = $vk->getAllComments('https://vk.com/ps_kak_kretin?w=wall-75338985_1256502');
$generator = $vk->getAllComments(-75338985, 1256502, 'desc');
foreach ($generator as $comment) {
    print_r($comment);
}

# getAllDialogs

Получить все диалоги сообщества или пользователя в зависимости от токена. Готовый генератор с оберткой над messages.getConversations (opens new window)

# Параметры метода

# Название Тип Описание
1 extended bool Возвращать дополнительные поля
2 filter string Фильтр, по умолчанию all
3 fields string Дополнительные поля, разделенные запятыми

# Возвращает

Generator

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
foreach ($vk->getAllDialogs() as $dialog) {
    print_r($dialog);
}

# О цветах кнопок

У всех кнопок ВК есть 4 цвета. Внутри фреймворка используются более понятные названия цветов при создании кнопок:

'primary' => 'blue',
'default' => 'white',
'negative' => 'red',
'positive' => 'green'

# buttonCallback

Метод генерирует callback кнопку

# Параметры метода

# Название Тип Описание
1 text* string Текст на кнопке
2 color string Цвет кнопки. По умолчанию white
3 payload array Массив полезной нагрузки для кнопки. По умолчанию null

# Возвращает

Массив со сгенерированной кнопкой, готовой для использования

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$btn = $vk->buttonCallback('Кнопка', 'red', ['my_payload' => 123]);
$vk->msg('Лови кнопку!')->kbd($btn)->send();

# buttonText

Метод генерирует текстовую кнопку

# Параметры метода

# Название Тип Описание
1 text* string Текст на кнопке
2 color string Цвет кнопки. По умолчанию white
3 payload array Массив полезной нагрузки для кнопки. По умолчанию null

# Возвращает

Массив со сгенерированной кнопкой, готовой для использования

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$btn = $vk->buttonText('Кнопка', 'red', ['my_payload' => 123]);
$vk->msg('Лови кнопку!')->kbd($btn)->send();

# buttonApp

Метод генерирует кнопку VK Apps

# Параметры метода

# Название Тип Описание
1 text* string Текст на кнопке
2 app_id* int ID mini apps приложения
3 owner_id int Отрицательный идентификатор сообщества, в котором установлено приложение
4 hash string Хэш для навигации в приложении, будет передан в строке параметров запуска после символа #
5 payload array Массив полезной нагрузки для кнопки. По умолчанию null

# Возвращает

Массив со сгенерированной кнопкой, готовой для использования

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$btn = $vk->buttonApp('Открыть приложение', 7055214, -182985865);
$vk->msg('Лови кнопку!')->kbd($btn)->send();

# buttonDonateToUser

Метод генерирует кнопку для перевода денег пользователю

# Параметры метода

# Название Тип Описание
1 user_id* int ID пользователя, кому уйдет донат
2 payload array Массив полезной нагрузки для кнопки. По умолчанию null

# Возвращает

Массив со сгенерированной кнопкой, готовой для использования

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$btn = $vk->buttonDonateToGroup(89846036);
$vk->msg('Лови кнопку!')->kbd($btn)->send();

# buttonDonateToGroup

Метод генерирует кнопку для перевода денег сообществу

# Параметры метода

# Название Тип Описание
1 group_id* int отрицательное ID сообщества, куда уйдет донат
2 payload array Массив полезной нагрузки для кнопки. По умолчанию null

# Возвращает

Массив со сгенерированной кнопкой, готовой для использования

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$btn = $vk->buttonDonateToGroup(-182985865);
$vk->msg('Лови кнопку!')->kbd($btn)->send();

# buttonPayToUser

Метод генерирует кнопку для перевода фиксированной суммы денег пользователю

# Параметры метода

# Название Тип Описание
1 user_id* int ID пользователя, кому уйдет донат
2 amount* int Сумма в рублях
3 description string Комментарий к платежу
4 payload array Массив полезной нагрузки для кнопки. По умолчанию null

# Возвращает

Массив со сгенерированной кнопкой, готовой для использования

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$btn = $vk->buttonPayToUser(89846036, 50, 'На мороженное');
$vk->msg('Лови кнопку!')->kbd($btn)->send();

# buttonPayToGroup

Метод генерирует кнопку для перевода фиксированной суммы денег сообществу

# Параметры метода

# Название Тип Описание
1 user_id* int ID пользователя, кому уйдет донат
2 amount* int Сумма в рублях
3 description string Комментарий к платежу
4 data object словарь с произвольными параметрами
5 payload array Массив полезной нагрузки для кнопки. По умолчанию null

# Возвращает

Массив со сгенерированной кнопкой, готовой для использования

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$btn = $vk->buttonPayToGroup(-182985865, 50, 'На мороженное');
$vk->msg('Лови кнопку!')->kbd($btn)->send();

Метод генерирует кнопку для открытия ссылки

# Параметры метода

# Название Тип Описание
1 link* string Ссылка на сайт
2 label string Текст на кнопке
3 payload array Массив полезной нагрузки для кнопки. По умолчанию null

# Возвращает

Массив со сгенерированной кнопкой, готовой для использования

# Примеры использования

Обязательно нужно указывать полную ссылку вместе с http или https, иначе метод выдаст ошибку

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$btn = $vk->buttonOpenLink('http://google.com', 'Открыть гугл');
$vk->msg('Лови кнопку!')->kbd($btn)->send();

# buttonLocation

Метод генерирует кнопку для отправки гео-позиции

# Параметры метода

# Название Тип Описание
1 payload array Массив полезной нагрузки для кнопки. По умолчанию null

# Возвращает

Массив со сгенерированной кнопкой, готовой для использования

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$btn = $vk->buttonLocation();
$vk->msg('Лови кнопку!')->kbd($btn)->send();

# eventAnswerOpenApp

Метод открывает mini apps приложение у пользователя, который нажал на callback кнопку.

Работает только при событии message_event

# Параметры метода

# Название Тип Описание
1 app_id* int ID mini apps приложения
2 owner_id int Отрицательный идентификатор сообщества, в котором установлено приложение
3 hash string Хэш для навигации в приложении, будет передан в строке параметров запуска после символа #

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126')->initType($type);
if($type == 'message_event') {
    $vk->eventAnswerOpenApp(7055214, -182985865);
}

Метод открывает ссылку у пользователя, который нажал на callback кнопку.

Работает только при событии message_event

# Параметры метода

# Название Тип Описание
1 link* string ID mini apps приложения

# Примеры использования

Обязательно нужно указывать полную ссылку вместе с http или https, иначе метод выдаст ошибку

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126')->initType($type);
if($type == 'message_event') {
    $vk->eventAnswerOpenLink('http://google.com');
}

# eventAnswerSnackbar

Метод исчезающее сообщение у пользователя, который нажал на callback кнопку.

Работает только при событии message_event

# Параметры метода

# Название Тип Описание
1 text* int Текст исчезающего сообщения

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126')->initType($type);
if($type == 'message_event') {
    $vk->eventAnswerSnackbar('Привет');
}

# sendAllChats

Метод делает рассылку по всем чатам. Работает как на пользователе, так и на сообществе(сообщение отправляется в чаты, куда добавили бота). Если картинка передается файлом, то перед рассылкой бот загружает ее один раз и получает attachment, который затем прикрепляет к каждому сообщению.

# Параметры метода

# Название Тип Описание
1 message* Message object Сформированный объект класса Message

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$msg = $vk->msg('Текст рассылки')->img('cat.jpg');
$vk->sendAllChats($msg);

# sendAllDialogs

Метод делает рассылку по всем диалогам. Работает как на пользователе, так и на сообществе. Если картинка передается файлом, то перед рассылкой бот загружает ее один раз и получает attachment, который затем прикрепляет к каждому сообщению.

# Параметры метода

# Название Тип Описание
1 message* Message object Сформированный объект класса Message

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$msg = $vk->msg('Текст рассылки')->img('cat.jpg');
$vk->sendAllDialogs($msg);

# dateRegistration

Получить дату регистрации пользователя

# Параметры метода

# Название Тип Описание
1 user_id* int user_id Пользователя

# Возвращает

Дата и время регистрации пользователя в формате 20:27:12 23.09.2006

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
print $vk->dateRegistration(1); //"20:27:12 23.09.2006"

# isAdmin

Является ли участник администратором беседы

# Параметры метода

# Название Тип Описание
1 peer_id* int id беседы
2 user_id* int id пользователя

# Возвращает

string owner - создатель, admin - администратор
false обычный пользователь
null пользователя нет в беседе
Expection нет доступа к информации, возможно:

  • бот не является администратором
  • неправильный id беседы
  • бота нет в беседе

# Примеры использования

<?php
require_once __DIR__.'/vendor/digitalstars/simplevk/autoload.php';
use DigitalStars\SimpleVK\SimpleVK as vk;

$vk = vk::create(ТОКЕН, '5.126');
$vk->initVars($peer_id, $user_id);
try {
    $vk->isAdmin($user_id, $peer_id);
} catch (SimpleVkException $e) {
    print($e->__toString());
}

Т.к. owner и admin это текст, то они являются true. Поэтому можно использовать так:

if($vk->isAdmin($user_id, $peer_id))