funnyrain/vkbot

用于创建机器人的库。支持 LongPoll API。兼容最新版 VK API。

2.0.0 2020-12-14 16:58 UTC

This package is auto-updated.

Last update: 2024-09-12 13:27:15 UTC


README

您可以在此处下载包含完整文档的库的旧版本 发布版 😁

文档

有什么功能?

  • 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);
    }

});