krypt0nn/vkapi

PHP 库,用于处理 VK API

3.2.1 2021-03-13 10:29 UTC

This package is auto-updated.

Last update: 2024-09-13 18:39:31 UTC


README

VKAPI - 基于 PHP 7.4 的 VK API 简化工作库

安装

composer require krypt0nn/vkapi

手动安装需要将库解压缩到您方便的位置,并连接 VKAPI.php 文件

工作示例

授权

<?php

use VKAPI\VK;

$API = new VK ('логин', 'пароль');

print_r ($API->users->get ([
    'user_ids' => 1
]));

print_r ($API->users->get ()); // Сам себя~

支持双因素认证的授权

<?php

use VKAPI\VK;

$API = new VK ('логин', 'пароль', function ()
{
    // Читаем и возвращаем 2ФА код, который ввёл пользователь (в консоль)
    return readline ('2fa code: ');
});

使用访问令牌进行授权

<?php

use VKAPI\VK;

$API = new VK ('токен доступа');

LongPoll API

<?php

namespace VKAPI;

$API      = new VK ('токен доступа');
$longpoll = new LongPoll ($API);

# Бесконечно принимаем запросы от LongPoll API
while (true)
    if (sizeof ($updates = $longpoll->getUpdates ()) > 0)
        print_r ($updates);

支持与用户和社区一起工作*

聊天机器人

<?php

namespace VKAPI;

$API      = new VK ('токен доступа');
$longpoll = new LongPoll ($API);

# Создаём объект реализации чат бота
$bot = new Bot ($longpoll, function ($message)
{
    echo $message['from_id'] .' | '. $message['text'] . PHP_EOL;
});

# И в бесконечном цикле обновляем его
while (true)
    $bot->update ();

支持与用户和社区一起工作*

社区功能

回调 API

<?php

namespace VKAPI;

$vk = new VK ('токен сообщества');
$callback = new Callback ($vk, 'строка подтверждения');

# Задаём обработчик события на запрос типа "message_new"
$callback->on ('message_new', function ($params) use ($vk)
{
    $vk->messages->send ([
        'message' => 'Привет! Мне показалось что ты сказал "'. $params['message']['text'] .'"',
        'peer_id' => $params['message']['from_id']
    ]);
});

# Выполняем обработку запроса к callback API
$callback->process ();

键盘

<?php

namespace VKAPI;

use VKAPI\Buttons\Text;

# true - сделать ли клавиатуру встроенной в сообщение (inline клавиатура)
$keyboard = new Keyboard (new VK ('токен сообщества'), true);

# 0 - первый ряд
$keyboard->buttons->add (0, new Text ('Hello, World!'));

# 1 - второй ряд
$keyboard->buttons->add (1, (new Text ('Yes'))->setColor ('positive'));
$keyboard->buttons->add (1, (new Text ('No'))->setColor ('negative'));

// []   - дополнительные параметры message.send
// true - клавиатура будет отображена всего 1 раз
$keyboard->send ('peer id', 'Тесто', [], true);

轮播图

<?php

namespace VKAPI;

use VKAPI\Carousel\Text;

$carousel = new Carousel (new VK ('токен сообщества'));

# Создаём элемент для карусели
$element = new Text ('Привет, Мир!', 'Тестовый элемент карусели');
$element->buttons->add (new Buttons\Text ('Я просто кнопка~~'));

# Добавляем элемент в карусель
$caruosel->add ($element);

# Отправка карусели. Указать peer id получателя и сообщение для отправки
$carousel->send ('peer id', 'Привет! Я тут карусель сделал, не посмотришь?');

建议查看代码注释以获取详细文档

作者: Podvirnyi Nikita。特别为 Enfesto Studio Group 制作