All Projects → digitalstars → simplevk

digitalstars / simplevk

Licence: MIT License
SimpleVK это PHP библиотека для быстрой разработки ботов для VK | vk api php class bot sdk library client framework longpoll callback streaming auth

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to simplevk

vkbottle
Сustomizable asynchronous VK API framework
Stars: ✭ 371 (+341.67%)
Mutual labels:  vk, callback
Vkbottle
Homogenic! Customizable asynchronous VK API framework
Stars: ✭ 191 (+127.38%)
Mutual labels:  vk, callback
Vk To Telegram
Utility to forward posts from VK through callback API to telegram channel or chat
Stars: ✭ 24 (-71.43%)
Mutual labels:  vk, callback
easyvk
This app helps you create an apps with vk api easy!
Stars: ✭ 97 (+15.48%)
Mutual labels:  vk, longpoll
LMPHP
Multi-language management and support on the site.
Stars: ✭ 19 (-77.38%)
Mutual labels:  class
kauth
🔑 kauth is JWT API Authentication ( jwt-auth ) for laravel
Stars: ✭ 14 (-83.33%)
Mutual labels:  auth
Casbin4D
An authorization library that supports access control models like ACL, RBAC, ABAC in Delphi
Stars: ✭ 25 (-70.24%)
Mutual labels:  auth
restify-jwt-community
Restify middleware that validates a JsonWebToken
Stars: ✭ 24 (-71.43%)
Mutual labels:  auth
TLightFileStream
Implements a lightweight, high-performance, non-allocating advanced-record-based wrapper around the SysUtils file handling routines as an alternative to Classes.TFileStream.
Stars: ✭ 21 (-75%)
Mutual labels:  streaming
stream
Holo's Project Stream
Stars: ✭ 11 (-86.9%)
Mutual labels:  streaming
authz0
🔑 Authz0 is an automated authorization test tool. Unauthorized access can be identified based on URLs and Roles & Credentials.
Stars: ✭ 248 (+195.24%)
Mutual labels:  auth
cm
Configuration management for all VOC systems
Stars: ✭ 17 (-79.76%)
Mutual labels:  streaming
PsNetTools
PsNetTools is a cross platform PowerShell module to test network features on Windows, Linux and Mac.
Stars: ✭ 13 (-84.52%)
Mutual labels:  class
VITA2PC
Stream PSVITA gaming sessions over WiFi.
Stars: ✭ 61 (-27.38%)
Mutual labels:  streaming
laravel-telegram-login-auth
This package is a Laravel service provider which provides support for Laravel Login and is very easy to integrate with any project that requires Telegram authentication.
Stars: ✭ 25 (-70.24%)
Mutual labels:  auth
SoundDeck
Sound Deck is a powerful audio-focused plugin for the Elgato Stream Deck.
Stars: ✭ 20 (-76.19%)
Mutual labels:  streaming
amplyfm
A free and open-source web app for streaming music.
Stars: ✭ 46 (-45.24%)
Mutual labels:  streaming
browserLiveStream
Use webcam, browser and Node to stream live video. From api.video (https://api.video)
Stars: ✭ 141 (+67.86%)
Mutual labels:  streaming
liftbridge-api
Protobuf definitions for the Liftbridge gRPC API. https://github.com/liftbridge-io/liftbridge
Stars: ✭ 15 (-82.14%)
Mutual labels:  streaming
babel-plugin-private-underscores
Make _classMembers 'private' using symbols
Stars: ✭ 39 (-53.57%)
Mutual labels:  class

SimpleVK logo

php version VK api version Latest Stable Version VK api version License

SimpleVK 2

Документация SimpleVK 2 Документация SimpleVK 3
Беседа VK Telegram Discord
Блог со статьями Разработка ботов на заказ

Оглавление

Почему 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"; //Подключаем библиотеку

Вручную

  1. Скачать последний релиз
  2. Подключить 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'ом
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].