catferq / reactphp-vk
此包的最新版本(v2.0.1)没有可用的许可信息。
基于 ReactPHP 的异步 VK API 客户端
v2.0.1
2020-09-21 18:06 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- clue/buzz-react: ^2.8.2
- psr/log: ^1.1
- react/react: ^1.0
This package is not auto-updated.
Last update: 2024-10-01 13:36:29 UTC
README
基于 ReactPHP 的异步 VK API 客户端
composer require catferq/reactphp-vk
这是一个实验性库。目前不建议在实际项目中使用。
如果你熟悉 ReactPHP,我愿意接受你关于错误和争议点的反馈。
有想法?请发邮件至 私信。
目前实现了以下功能
- 通过生成的 SDK 调用 API(5.122)
- 直接查询 API
- 系统节流,以避免过载和错误 #6(每秒过多请求)
- LongPoll 处理器
- 各种 Enum
- 还生成了元数据,以便在直接请求时提供一些提示
通过 SDK 发送常规请求的示例
<?php use ReactPHPVK\Client\AVKClient; use ReactPHPVK\LongPoll\LongPollClient; use React\EventLoop\Factory; require_once __DIR__ . '/vendor/autoload.php'; $accessToken = 'f1a6c1f8f0f1a21f8f0f1a2c6b1ba6c1f8f0f1a2c6b1b11e6'; $loop = Factory::create(); $avk = new AVKClient($loop, $accessToken); $method = $avk->messages()->send(); $method->setMessage('Hello world'); $method->setUserId(283776198); $method->execute()->then( fn ($response) => var_dump($response) ); $loop->run();
处理 LP 的示例
<?php use ReactPHPVK\Client\AVKClient; use ReactPHPVK\LongPoll\LongPollClient; use React\EventLoop\Factory; require_once __DIR__ . '/vendor/autoload.php'; $accessToken = 'f1a6c1f8f0f1a21f8f0f1a2c6b1ba6c1f8f0f1a2c6b1b11e6'; $groupId = 185142265; $loop = Factory::create(); $avk = new AVKClient($loop, $accessToken); $lp = new LongPollClient($avk, $groupId); $lp->handle( fn ($update) => var_dump($update) // выведет событие (неожиданно, согласен) ); $loop->run();