Подключение
<?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 iddisableSendOK
Статичный метод, отвечающий за выполнение специального метода для отправки 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 | поддерживаются ли карусели клиентом |
| 3 | &button_actions | array | массив кнопок, которые поддерживает клиент |
| 3 | &lang_id | int | id используемого языка |
Возвращает
Массив $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
Примеры использования
<?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/. Удобно использовать при дебаге больших массивов.
Если не передавать в метод данные, то по умолчанию будет сформирована ссылка с данными события пришедшего от ВК.
Параметры метода
| # | Название | Тип | Описание |
|---|---|---|---|
| 1 | data | json|array | Массив или json |
Возвращает
Ссылку на https://jsoneditoronline.org/ с данными
Примеры использования
<?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
Параметры метода
| # | Название | Тип | Описание |
|---|---|---|---|
| 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
Параметры метода
| # | Название | Тип | Описание |
|---|---|---|---|
| 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
Параметры метода
| # | Название | Тип | Описание |
|---|---|---|---|
| 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
Параметры метода
| # | Название | Тип | Описание |
|---|---|---|---|
| 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
Параметры метода
| # | Название | Тип | Описание |
|---|---|---|---|
| 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
Параметры метода
| # | Название | Тип | Описание |
|---|---|---|---|
| 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
Параметры метода
| # | Название | Тип | Описание |
|---|---|---|---|
| 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();buttonOpenLink
Метод генерирует кнопку для открытия ссылки
Параметры метода
| # | Название | Тип | Описание |
|---|---|---|---|
| 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);
}eventAnswerOpenLink
Метод открывает ссылку у пользователя, который нажал на 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))