digitalstars / simplevk
Library for easy work with VK com api
Installs: 3 320
Dependents: 4
Suggesters: 0
Security: 0
Stars: 88
Watchers: 10
Forks: 26
Open Issues: 0
Requires
- php: >=8.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
Suggests
- ext-pcntl: Автоматическая многопоточная обработка событий через Longpoll
- ext-posix: Автоматическая многопоточная обработка событий через Longpoll
- ext-redis: Используется для обнаружения дублирующихся событий от VK API и их игнорирования
- dev-master
- v3.1.14-beta
- v3.1.13-beta
- v3.1.12-beta
- v3.1.11-beta
- v3.1.10-beta
- v3.1.9-beta
- v3.1.8-beta
- v3.1.7-beta
- v3.1.6-beta
- v3.1.5-beta
- v3.1.4-beta
- v3.1.3-beta
- v3.1.2-beta
- v3.1.1-beta
- v3.1.0-beta
- v3.0.0-beta.7
- v3.0.0-beta.6
- v3.0.0-beta.5
- v3.0.0-beta.4
- v3.0.0-beta.3
- v3.0.0-beta.2
- v3.0.0-beta.1
- v2.14.1
- v2.14.0
- v2.13.3
- v2.13.2
- v2.13.1
- v2.13.0
- v2.12.5
- v2.12.4
- v2.12.3
- v2.12.2
- v2.12.1
- v2.12.0
- v2.11.2
- v2.11.1
- v2.11.0
- v2.10.2
- v2.10.1
- v2.10.0
- v2.9.1
- v2.8.3
- v2.8.2
- v2.8.1
- v2.8.0
- v2.7.0
- v2.6.3
- v2.6.2
- v2.6.1
- v2.5.1
- v2.4.5
- v2.4.4
- v2.4.3
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.1
- v2.2.0
- v2.1.1
- v2.1.0
- dev-testing
- dev-simplevk4
This package is auto-updated.
Last update: 2024-11-15 13:51:04 UTC
README
SimpleVK 2
Оглавление
Почему SimpleVK?
Для создания бота потребуется минимум кода, за счёт реализации большинства методов vk api в виде удобных функций.
Также есть готовые модули, которые облегчают разработку:
- Рассылка сообщений
- Обработка команд
- Работа с кнопками
Функционал
В библиотеке поддерживается:
- Callback API
- User Long Poll API
- Bots Long Poll API
- Execute
- VKCoin API
- Создание ботов на пользовательских аккаунтах
- Работа с голосовыми сообщениями и документами
Подключение
Используя composer
composer require digitalstars/simplevk
require_once "vendor/autoload.php"; //Подключаем библиотеку
Вручную
- Скачать последний релиз
- Подключить autoload.php. Вот так будет происходить подключение, если ваш скрипт находится в той же папке, что и папка simplevk-master
require_once "simplevk-master/autoload.php"; //Подключаем библиотеку
Проверка готовности сервера
Чтобы убедится, что ваш сервер готов к работе с simplevk, необходимо создать и запустить следующий скрипт:
require_once 'vendor/autoload.php'; \DigitalStar\vk_api\Diagnostics::run();
Если вы делаете longpoll бота, то запускайте диагностику через консоль
Если вы делаете callback бота, то запускайте диагностику через браузер
Примерный вывод диагностики:
Примеры использования
Больше примеров есть на сайте с документацией
Для удобства в каждого бота можно добавлять следущие константы:
const VK_KEY = ''; //токен сообщества или пользователя const CONFIRM_STR = ''; //ключ авторизации сообщества, который вы получили const VERSION = '5.101'; //ваша версия используемого api
Минимальный Callback бот для бесед и сообщества
require_once('vendor/autoload.php'); use DigitalStar\vk_api\vk_api; $vk = vk_api::create(VK_KEY, VERSION)->setConfirm(CONFIRM_STR); $data = $vk->initVars($id, $message, $payload, $user_id, $type); //инициализация переменных if($type == 'message_new') $vk->reply($message);
Простой Callback бот для бесед и сообщества
require_once('vendor/autoload.php'); use DigitalStar\vk_api\vk_api; $vk = vk_api::create(VK_KEY, VERSION)->setConfirm(CONFIRM_STR); $vk->debug(); $data = $vk->initVars($id, $message, $payload, $user_id, $type); //инициализация переменных $info_btn = $vk->buttonText('Информация', 'blue', ['command' => 'info']); //создание кнопки if ($payload) { if($payload['command'] == 'info') $vk->reply('Тебя зовут %a_full%'); //отвечает пользователю или в беседу } else $vk->sendButton($id, 'Видишь кнопку? Нажми на нее!', [[$info_btn]]); //отправляем клавиатуру с сообщением
Простой LongPoll бот для юзера
require_once('vendor/autoload.php'); use DigitalStar\vk_api\vk_api; use DigitalStar\vk_api\LongPoll; $vk = vk_api::create('login', 'password', VERSION);//или используйте токен вместо лог/пас $vk = new LongPoll($vk); $vk->listen(function()use($vk){ //longpoll для пользователя $vk->on('message_new', function($data)use($vk) { //обработка входящих сообщений $vk->initVars($id, $message, $payload, $user_id, $type); $vk->reply($message); }); });
Простой LongPoll бот для сообщества
require_once('vendor/autoload.php'); use DigitalStar\vk_api\vk_api; use DigitalStar\vk_api\LongPoll; $vk = vk_api::create(VK_KEY, '5.101'); $vk = new LongPoll($vk); $vk->listen(function($data)use($vk){ //в $data содержится все данные $vk->initVars($id, $message, $payload, $user_id, $type); $vk->reply($message); });
Callback + Execute
Используется, когда callback скрипт во время выполнения много раз обращается к api, а вам нужно экономить запросы, чтобы не привышать лимит(высоконагруженные боты)
require_once('vendor/autoload.php'); use DigitalStar\vk_api\vk_api; use DigitalStar\vk_api\Execute; $vk = vk_api::create(VK_KEY, VERSION)->setConfirm(CONFIRM_STR); $vk = new Execute($vk); $vk->debug(); $data = $vk->initVars($id, $message, $payload, $user_id, $type); //инициализация переменных $vk->reply($message); //отвечает пользователю или в беседу
LongPoll + Execute
Лучшая связка для высоконагруженных ботов. Но если вы делаете высоконагруженного бота, лучше посмотрите в сторону NodeJS, он справляется с этим намного лучше за счет асинхронности и многопоточности из коробки.
require_once('vendor/autoload.php'); use DigitalStar\vk_api\vk_api; use DigitalStar\vk_api\LongPoll; use DigitalStar\vk_api\Execute; $vk = vk_api::create(VK_KEY, '5.95'); $vk = new Execute($vk); $vk = new LongPoll($vk); $vk->listen(function($data)use($vk){ //в $data содержится все данные события, можно убрать, если не нужен $vk->initVars($id, $message, $payload, $user_id, $type); //инициализация переменных $vk->reply($message); });
План развития проекта
- метод для проверки секретного слова
- streaming api
- модуль для удобной обработки комманд в боте
- модуль для удобного написания многоуровневых ботов с кнопками
- возможность в sendImage отдавать ссылку на картинку в интернете для отправки
- метод проверки секретного слова
- более удобная документация на сайте
- Полностью переписать библиотеку на 3.0
- Мобильное приложение с копией сайта, для оффлайн просмота
Далекое будущее (до 1 года)
- работа с audio
- работа с историями
- модуль работы с основными платежными системами
- динамические обложки для сообщества(возможно)
Помощь проекту
- Яндекс.Деньги - money.yandex.ru/to/410014638432302
- Дебетовая карта - 2202201272652211
- Также вы можете помочь проекту
Pull Request
'ом