serhiy / pushover
轻量、简单、快速,同时功能全面的 Pushover API 包装器。
v1.6.0
2024-08-29 08:23 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
Requires (Dev)
- ergebnis/composer-normalize: ^2.43
- ergebnis/php-cs-fixer-config: ^6.34
- friendsofphp/php-cs-fixer: ^3.61
- phpstan/phpstan: ^1.11
- phpunit/phpunit: *
- rector/rector: ^1.2
README
轻量、简单、快速,同时功能全面的 Pushover API 包装器。
特性
- 消息 API (示例)
- 图片附件
- 用户设备名称
- 消息标题
- HTML 消息
- 补充 URL 及其标题
- 通知优先级
- 通知声音(包括自定义声音)
- 消息时间
- 存活时间
- 用户/组验证 API (示例)
- 通过用户或组密钥验证
- 通过用户和设备验证
- 收据 API (示例)
- 查询紧急优先级收据
- 取消紧急优先级重试
- 组 API (示例)
- 创建组
- 列出组
- 检索组信息
- 添加/移除用户
- 启用/禁用用户
- 重命名组
- 概览 API (示例)
- 标题
- 文本
- 副文本
- 计数
- 百分比
- 许可 API (示例)
- 检查剩余信用额度
- 分配许可(未测试)
- 订阅 API (示例)
- 用户密钥迁移
入门
以下说明将帮助您启动和运行项目副本。
安装
composer require serhiy/pushover
需求
我旨在使项目尽可能简单。您只需要 PHP 支持的版本以及其 curl 和 json 扩展即可运行它。参见项目 composer.json 文件的 require
部分
{ "require": { "php": ">=8.2", "ext-curl": "*", "ext-json": "*" } }
发送消息
实例化推送应用和通知接收者
use Serhiy\Pushover\Application; use Serhiy\Pushover\Recipient; $application = new Application('replace_with_pushover_application_api_token'); $recipient = new Recipient('replace_with_pushover_user_key');
或使用依赖注入将它们注入到您的应用服务中。
编写消息
use Serhiy\Pushover\Api\Message\Message; $message = new Message('This is a test message', 'This is a title of the message');
创建通知
use Serhiy\Pushover\Api\Message\Notification; $notification = new Notification($application, $recipient, $message);
推送
/** @var \Serhiy\Pushover\Client\Response\MessageResponse $response */ $response = $notification->push();
提示
有关更多代码示例,请参阅项目根目录中的 examples 文件夹。
处理响应
客户端返回响应对象。检查消息是否被接受很容易
if ($response->isSuccessful()) { // ... }
可以获取 Pushover 返回的状态和令牌
$response->getRequestStatus(); $response->getRequestToken();
或者甚至是未经修改的 API JSON 响应(如果需要,将其解码到数组中)
$response->getCurlResponse();
响应还包含原始请求对象
/** @var \Serhiy\Pushover\Client\Request\Request $request */ $request = $response->getRequest();
请求包含 CURLOPT_POSTFIELDS curl 参数和完整的 API URL 数组。
$request->getCurlPostFields(); $request->getApiUrl();
提示
有关完整示例,请参阅 ResponseExample.php。
贡献
欢迎贡献。如果您想添加功能,在开始工作之前,请打开一个问题来讨论您想要工作的功能。
有关详细信息,请阅读 CONTRIBUTING.md。
许可
本项目遵循MIT许可协议 - 详细内容请参阅LICENSE文件。
致谢
Pushover API有很多PHP封装库。然而,大多数似乎已被放弃,缺少功能或需要额外的库才能运行。尽管如此,许多封装库还是激发了我开发这个项目的灵感。