digitalstars / simplevk
简单操作 VK 社交平台 API 的库
v3.1.10-beta
2024-08-19 20:44 UTC
Requires
- php: >=8.0
- ext-curl: *
- ext-fileinfo: *
- ext-json: *
- ext-mbstring: *
- ext-pcntl: *
- ext-posix: *
- dev-master
- v3.1.10-beta
- v3.1.9-beta
- v3.1.8-beta
- v3.1.7-beta
- v3.1.6-beta
- v3.1.5-beta
- v3.1.4-beta
- v3.1.3-beta
- v3.1.2-beta
- v3.1.1-beta
- v3.1.0-beta
- v3.0.0-beta.7
- v3.0.0-beta.6
- v3.0.0-beta.5
- v3.0.0-beta.4
- v3.0.0-beta.3
- v3.0.0-beta.2
- v3.0.0-beta.1
- v2.14.1
- v2.14.0
- v2.13.3
- v2.13.2
- v2.13.1
- v2.13.0
- v2.12.5
- v2.12.4
- v2.12.3
- v2.12.2
- v2.12.1
- v2.12.0
- v2.11.2
- v2.11.1
- v2.11.0
- v2.10.2
- v2.10.1
- v2.10.0
- v2.9.1
- v2.8.3
- v2.8.2
- v2.8.1
- v2.8.0
- v2.7.0
- v2.6.3
- v2.6.2
- v2.6.1
- v2.5.1
- v2.4.5
- v2.4.4
- v2.4.3
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.1
- v2.2.0
- v2.1.1
- v2.1.0
- dev-simplevk4
- dev-testing
This package is auto-updated.
Last update: 2024-09-30 18:51:34 UTC
README
SimpleVK 2
目录
为什么选择 SimpleVK?
创建机器人需要最少的代码,因为大多数 VK API 方法都以方便的函数形式实现。
还有现成的模块,可以简化开发
- 发送消息
- 处理命令
- 处理按钮
功能
库支持
- 回调 API
- 用户长轮询 API
- 机器人长轮询 API
- 执行
- VKCoin API
- 在用户帐户上创建机器人
- 处理语音消息和文档
连接
使用 composer
composer require digitalstars/simplevk
require_once "vendor/autoload.php"; //Подключаем библиотеку
手动
- 下载最新版本
- 连接 autoload.php。如果你的脚本位于 simplevk-master 文件夹中,连接方式如下:
require_once "simplevk-master/autoload.php"; //Подключаем библиотеку
检查服务器准备情况
为了确保你的服务器准备好与 simplevk 一起工作,你需要创建并运行以下脚本:
require_once 'vendor/autoload.php'; \DigitalStar\vk_api\Diagnostics::run();
如果你正在制作长轮询机器人,请通过控制台运行诊断
如果你正在制作回调机器人,请通过浏览器运行诊断
诊断示例输出
使用示例
更多示例在 文档网站 上
为了方便,可以为每个机器人添加以下常量
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); });
项目发展计划
- 检查秘密词的方法
- 流式 API
- 用于在机器人中方便处理命令的模块
- 用于方便编写多层按钮机器人的模块
- 在 sendImage 中发送图片链接以发送图片的能力
- 检查秘密词的方法
- 网站上的文档更方便
- 完全重写库到 3.0
- 带有网站副本的移动应用,用于离线查看
遥远的未来(1 年内)
- 处理音频
- 处理历史记录
- 处理主要支付系统的模块
- 社区动态封面(可能)
支持项目
- Yandex.Money - money.yandex.ru/to/410014638432302
- 借记卡 - 2202201272652211
- 你也可以通过
Pull Request
来帮助项目