ctapu4ok/vk-messenger-sdk
最新稳定版本:v1.1.1
Composer 安装命令:
composer create-project ctapu4ok/vk-messenger-sdk
包简介
PHP implementation of VK Messenger LongPoll protocol.
README 文档
README
VK Messenger SDK представляет собой систему, которая позволяет взаимодействовать с API ВКонтакте через LongPoll в асинхронном режиме.
LongPoll - это механизм, предоставляемый API ВКонтакте, который позволяет получать обновления из социальной сети в режиме реального времени.
Для реализации асинхронного режима работы проект использует механизм обратных вызовов (callback / event loop). Когда происходит новое событие в системе ВКонтакте, обработчик получает его и вызывает соответствующий обратный вызов, который пользователь предварительно определил. Таким образом, пользователь может создать свою логику обработки полученных событий.
Библиотека PHP для взаимодействия с VK API, включающая LongPoll Server и API методы
Используемая версия ВК API version 5.81
1. Предусловия
- PHP 8.2^
2. Установка
The VK Messenger SDK можно установить с помощью Composer, выполнив следующую команду:
composer require ctapu4ok/vk-messenger-sdk
3. Примеры
(постепенно пополняется)
1. Сообщения
2. Группы
3. Остальное
4. Пример бота
<?php declare(strict_types=1); if (file_exists('vendor/autoload.php')) { require_once 'vendor/autoload.php'; } use ctapu4ok\VkMessengerSdk\EventHandler; use ctapu4ok\VkMessengerSdk\Logger; use ctapu4ok\VkMessengerSdk\Settings; enum Params { public const API_HASH = 'vk1.a.Qyw6zef4YQZmosPX5J.....'; public const GROUP_ID = 12345678; public const CONFIRM_STRING = 'c683e9eb12cebb65ce.....'; public const VERSION = '5.81'; } class MessengerEvent extends EventHandler { public function onStart(): void { $this->getAPI()->logger('The event handler was initialized'); } public function messageEvent(int $group_id, ?string $secret, array $object): void { $this->getAPI()->logger([ 'New message event received', $object ], Logger::LOGGER_CALLABLE); } public function messageNew(int $group_id, ?string $secret, array $object): void { $this->getAPI()->logger([ 'New message received: ', $object ], Logger::LOGGER_CALLABLE); /** * @var $this->getVk() The main VK API methods src/API/Actions */ $msg_id = $this->getVk()->messages()->send([ 'user_id' => $object['message']['from_id'], 'random_id' => floor(microtime(true) * 1000), 'peer_id' => $object['message']['peer_id'], 'message' => 'Hello World!' ]); $this->getAPI()->logger([ 'Getting Message ID: ', $msg_id ], Logger::LOGGER_CALLABLE); } public function messageTypingState(int $group_id, ?string $secret, array $object): void { $this->getAPI()->logger([ 'The user started typing a message', $object ], Logger::LOGGER_CALLABLE); } /** * Cron example */ #[Cron(period: 5)] public function testingCron5() { $this->getAPI()->logger([ 'THIS IS CRON 5!!!!!!' ], Logger::LOGGER_CALLABLE); } #[Cron(period: 1)] public function testingSome1() { $this->getAPI()->logger([ 'THIS IS CRON 1.0!!!!!!' ], Logger::LOGGER_CALLABLE); } } $Settings = new Settings(); $Settings->getAppInfo()->setApiHash(Params::API_HASH); $Settings->getAppInfo()->setGroupId(Params::GROUP_ID); $Settings->getAppInfo()->setConfirmString(Params::CONFIRM_STRING); $Settings->getAppInfo()->setApiVersion(Params::VERSION); // we say to output logs to a file (without console) //$Settings->getLogger() // ->setType(Logger::LOGGER_FILE) // ->setExtra('log.file') // ->setMaxSize(50*1024*1024); // Database settings //$Settings->setDb( // (new Settings\Database\Mysql()) // ->setUri('127.0.0.1:3306') // ->setDatabase('vk_messenger') // ->setUsername('root') // ->setPassword('root') //); MessengerEvent::loop($Settings);
ctapu4ok/vk-messenger-sdk 适用场景与选型建议
ctapu4ok/vk-messenger-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 19 次下载、GitHub Stars 达 3, 最近一次更新时间为 2023 年 07 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「client」 「sdk」 「bot」 「vk」 「Messenger」 「longpoll」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 ctapu4ok/vk-messenger-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ctapu4ok/vk-messenger-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 ctapu4ok/vk-messenger-sdk 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Dialogflow php sdk
Laravel 5.6 Monolog custom telegram channel
Mock PSR-18 HTTP client
Asynchronous MQTT client built on React
Client for Google Directions API to add interpolated points to a route consisting of given coordinates.
A Flickr wrapper to allow you to call the Flickr api with Guzzle as the backend.Goal is to have 100% Flickr api coverage rather than just upload/display photos (currently at 23%).
统计信息
- 总下载量: 19
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 15
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: AGPL-3.0-only
- 更新时间: 2023-07-18