funnyrain / vkbot
Библиотека для создания бота. Bots LongPoll API. Поддерживает последнюю версию VK API.
2.0.0
2020-12-14 16:58 UTC
Requires
- php: >=7.0
This package is auto-updated.
Last update: 2025-07-12 15:13:18 UTC
README
Прошлую версию библиотеки с полной документацией можно скачать тут Releases 😁
Документация
Что есть?
- Bots LongPoll API
- Обработка команд
- Обработка событий
- Работа с кнопками
- Загрузка документов
Что планируется?
- Рассылка сообщений
- Создание виджета
Примеры использования
Добавление клавиатуры / Вызов по команде "кнопки":
<?php require_once 'autoload.php'; $bot = new Bot(); $bot->setToken('токен'); $bot->start(function($data)use($bot){ $msg = $bot->getMessage(); $kb = $bot->kBuilder(); // Подключаем билдера кнопок if ($msg->get() == "кнопки") { $kb->create( [ [ // <-- Начало первой строки $kb->button('красная кнопка', 'red'), $kb->button('зеленая кнопка', 'green'), $kb->button('синяя кнопка', 'blue') ], // <-- Конец первой строки [ // <-- Начало второй строки $kb->link('кнопка с ссылкой', 'http://example.com'), $kb->location() ] // <-- Конец второй строки ] // one_time (По стандарту false), // inline (По стандарту false) ); /** * Должно вывести клавиатуру в таком виде: * [--] [--] [--] * [--] [--] */ $msg->reply('Отправляю клавиатуру:', [ 'keyboard' => $kb->get() ]); } });
Простой пример обработки события "Приглашение бота в беседу":
<?php require_once 'autoload.php'; $bot = new Bot(); $bot->setToken('токен'); $bot->start(function($data)use($bot){ // chat_invite_user - Событие добавления в беседу // Список всех событий: https://vk.com/dev/groups_events $bot->isAction('chat_invite_user', function($data)use($bot) { $msg = $bot->getMessage(); if ($data['member_id'] == -$bot->group_id) $msg->reply('спасибо за приглашение'); }); });
Простой пример отправки сообщения на команду "info":
<?php require_once 'autoload.php'; $bot = new Bot(); $bot->setToken('токен'); $bot->start(function($data)use($bot){ $msg = $bot->getMessage(); if ($msg->get() == "info") { $msg->reply( "привет" ); //$msg->sendSticker(51077); } });