Skip to content
This repository has been archived by the owner on Feb 16, 2020. It is now read-only.

Latest commit

 

History

History
179 lines (157 loc) · 8.26 KB

README.md

File metadata and controls

179 lines (157 loc) · 8.26 KB

VK PHP Framework

Фреймворк для написания ботов ВКонтакте. Рекомендуется использовать Senses Engine: click

Установка

Для установки фреймворка достаточно скачать файл vk.php.

Инициализация

Пример:

include './vk.php';

$bot = new VKBot(168041404, '8devqmftwx5cw7yg5w5v95bpgg47z6kdmj4uacybc44vrdvbb5uab8ksdd8v4h4bjb5aqzk45tyakgzhy5sg7');
Параметр Тип Обязательный? По умолчанию Описание
group_id int yes нет ID сообщества, где работает бот (положительное число)
token string yes нет access_token, полученный в настройках API
language string no ru Идентификатор языка
v string no 5.95 Версия API

Основные функции

Вызов любого метода API

Пример:

$bot->call('users.get', array('user_ids' => '1,2,3'));
$bot->call('users.get', ['user_ids' => 1]);
Параметр Тип Обязательный? По умолчанию Описание
m string yes нет Название метода
p array yes array() Параметры

Загрузка файла

Пример:

$bot->upload('https://server.userapi.com/oaoaoa/mmm', 'myphoto.png');
Параметр Тип Обязательный? По умолчанию Описание
url string yes нет Адрес загрузки
file string yes нет Путь к файлу

Вызов метода execute

Пример:

$bot->execute('return true;');
Параметр Тип Обязательный? По умолчанию Описание
code string yes нет Код в формате VKScript

Отправка сообщения

Пример:

$bot->send(1, 'Привет!', 'photo1_1,video1_1', '{"one_time": false, "buttons": []}', 228757, 1);
Параметр Тип Обязательный? По умолчанию Описание
peer_id int yes нет Идентификатор назначения
message string yes нет Текст сообщения
attachment string no Пустая строка Вложения
keyboard string no {"one_time": false, "buttons": []} Клавиатура
reply_to int no 0 (без ответа на сообщение) ID сообщения, на которое отвечает бот
dont_parse_links int no 0 См. документацию

Загрузка фотографии в сообщение

Пример:

$bot->uploadPhoto('photo.png');
Параметр Тип Обязательный? По умолчанию Описание
filename string yes нет Путь к файлу

Загрузка документа в сообщение

Пример:

$bot->uploadDoc('document.gif');
$bot->uploadDoc('audio.mp3', 'audio_message');
Параметр Тип Обязательный? По умолчанию Описание
filename string yes нет Путь к файлу
type string no doc Тип документа

Дополнительные функции

Проверяем, есть ли пользователь в чате

Пример:

$bot->isUserChatMember(2000000001, 2050);
$bot->isUserChatMember(2000000001, -1);
Параметр Тип Обязательный? По умолчанию Описание
peer_id int yes нет Идентификатор диалога
member_id int yes нет Идентификатор участника

Проверяем, есть ли бот в чате

Пример:

$bot->isBotChatMember(2000000001);
Параметр Тип Обязательный? По умолчанию Описание
peer_id int yes нет Идентификатор диалога

Выбор текста в зависимости от пола пользователя

Пример:

$bot->getTextBySex(1, "Вы указали мужской пол.", "Вы указали женский пол");
$bot->getTextBySex(1, "Вы указали мужской пол.", "Вы указали женский пол", $user['sex']);
Параметр Тип Обязательный? По умолчанию Описание
user_id int yes нет Идентификатор пользователя
male string yes нет Строка, которая вернётся, если пол пользователя — мужской
female string yes нет Строка, которая вернётся, если пол пользователя — женский
sex int no -1 (не используется) Предопределённый пол (например, из переменной)

Формат ответа

Фотография

{
  "response": [{
    "id": 1,
    "album_id": -3,
    "owner_id": 1,
    "sizes": [],
    "text": "",
    "date": 1551477718,
    "access_key": "key"
  }]
}

Документ

{
  "response": {
    "type": "doc",
    "doc": {
      "id": 1,
      "owner_id": 1,
      "title": "Document",
      "size": 500,
      "ext": "jpg",
      "url": "https://vk.com/doc1_1",
      "date": 1551477311,
      "type": 4,
      "preview": []
    }
  }
}

Аудиосообщение

{
  "response": {
    "type": "audio_message",
    "audio_message": {
      "id": 1,
      "owner_id": 1,
      "duration": 1,
      "waveform": [0, 0, 0, 0, 0, 0, 0],
      "link_ogg": "https://psv4.userapi.com/server/file.ogg",
      "link_mp3": "https://psv4.userapi.com/server/file.mp3",
      "access_key": "key"
    }
  }
}