ricardoboss / webhook-tweeter
此包已被弃用且不再维护。未建议替代包。
验证和解析GitHub webhook请求并将其发布到Twitter
v0.4
2023-03-18 11:47 UTC
Requires
- php: ^8.1
- coderjerk/bird-elephant: ^0.4
- psr/http-message: ^1.0
Requires (Dev)
- mockery/mockery: ^1.5
- nyholm/psr7: ^1.5
- phpunit/phpunit: ^9.6
README
此包旨在提供简单的接口来实现基于webhook的推文系统。
例如,当GitHub存储库发布新版本时,可以用于推发布通知。
安装
composer require ricardoboss/webhook-tweeter
使用方法
<?php use ricardoboss\WebhookTweeter\WebhookTweeterConfig; use ricardoboss\WebhookTweeter\Simple\SimpleWebhookTweeterRenderer; use ricardoboss\WebhookTweeter\Simple\SimpleWebhookTweeterTemplateLocator; use ricardoboss\WebhookTweeter\WebhookTweeterHandler; use ricardoboss\WebhookTweeter\API\BirdElephantTwitterAPI; // 1. Create a config object // you can also pass \Stringable objects instead of strings $config = new WebhookTweeterConfig( 'webhook_url', 'webhook_secret' // nullable ); // 2. Create an instance of WebhookTweeterRenderer // either use your own renderer or use the simple renderer $renderer = new SimpleWebhookTweeterRenderer(); // 3. Create a template locator instance // the simple locator looks for files in the given directory and the given extension (name is passed to the getMatchingTemplate method) $locator = new SimpleWebhookTweeterTemplateLocator(__DIR__ . '/templates', '.md'); // 4. Create a Twitter API client implementing WebhookTweeterTwitterAPI $twitter = new BirdElephantTwitterAPI(); $twitter->setCredentials([ 'bearer_token' => xxxxxx, // OAuth 2.0 Bearer Token requests 'consumer_key' => xxxxxx, // identifies your app, always needed 'consumer_secret' => xxxxxx, // app secret, always needed 'token_identifier' => xxxxxx, // OAuth 1.0a User Context requests 'token_secret' => xxxxxx, // OAuth 1.0a User Context requests ]); // 5. Create a WebhookTweeterHandler instance $handler = new WebhookTweeterHandler($config, $renderer, $locator, $twitter); // 6. Get a PSR-7 request object $request = /* get your request implementation */; // 7. Handle the request (sends a rendered tweet) $result = $handler->handle($request);
$result
变量保存了一个WebhookTweeterResult
实例。结果具有以下属性
$result->success
:如果推文成功发送,则为true
,否则为false
$result->message
:如果推文未成功发送,则为错误消息$result->url
:推文的URL$result->tweet
:从Twitter API返回的推文对象
致谢
感谢danieldevine创建BirdElephant并为Twitter V2 API提供一个整洁的PHP接口!
许可证
本项目采用MIT许可证。更多信息请参阅此处。