Skip to content
This repository has been archived by the owner on Feb 16, 2020. It is now read-only.
/ vk-bot-php Public archive

Свой фреймворк для создания ботов ВКонтакте на PHP

License

Notifications You must be signed in to change notification settings

slmatthew/vk-bot-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

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"
    }
  }
}

About

Свой фреймворк для создания ботов ВКонтакте на PHP

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages