klabcyscorpions / slack-notify
该软件包已被废弃,不再维护。没有建议的替代软件包。
为PHP发送Slack通知
v2.0.1
2016-05-24 07:33 UTC
Requires
- php: >=5.4
- ext-curl: *
- ext-memcached: *
Requires (Dev)
- phpunit/phpunit: 4.8.24
This package is not auto-updated.
Last update: 2017-03-02 19:35:57 UTC
README
SlackNotify 是一个PHP库,允许您使用入站Webhook集成向Slack发送消息。
依赖项
此库需要安装Curl
和Memcached
扩展
- Curl 扩展用于调用并向Slack的WebHook URL发送有效负载
- Memcached 扩展将用于检查发送限制。限制可以设置为
count
和duration
值
安装
- 我们建议使用
Composer
composer require klabcyscorpions/slack-notify:v2.0.0
- 或者,您可以在发行页面下载
slack-notify.zip
。只需解压它并将文件包含在src/
目录下
设置(Slack)
- 创建一个入站WebHook集成。
- 选择一个要发布消息的频道。
- 注意WebHook URL并将其添加到配置中。
用法
定义必需的客户端设置。
define('WEBHOOK_URL', 'https://api.slack.com/webhook-url/xxxx/xxxx'); /** Memcached connection settings */ define('MEMCACHED_HOST', 'localhost'); define('MEMCACHED_PORT', 11211); define('MEMCACHED_KEY', 'slack-report-key'); /** Limit to max of 10 sends per 60 seconds */ define('LIMIT_COUNT', 10); define('LIMIT_DURATION', 60);
使用定义的设置创建新的
Limit
、Memcached
、Notify
和Slack
类use KLabCyscorpions\SlackNotify\Limit; use KLabCyscorpions\SlackNotify\Notify; use KLabCyscorpions\SlackNotify\Slack; //create limit object $limit = new Limit(LIMIT_COUNT, LIMIT_DURATION); //create memcached object using defined Memcached class //this will be used to check send limit $memcached = new Memcached(); $memcached->addServer(MEMCACHED_HOST, MEMCACHED_PORT); //create notify object instance $notify = new Notify($memcached, $limit, MEMCACHED_KEY); //create slack object $slack = new Slack(WEBHOOK_URL);
根据创建的
Slack
和Notify
类的实例创建新的Client
实例return new Client($slack, $notify);
生成有效负载并将其发送到Slack。查看Slack格式化API以检查如何创建有效负载数据。
$payload = array( 'channel' => '#general', 'text' => 'This message is sent to #general by SlackNotify!' ); $client->send($payload);
发送方法如果在调用Slack Webhook URL时没有返回
ok
响应,则可能会抛出SlackNotifyException
。查看错误日志文件以查看Webhook响应消息。
其他方法
方法 | 描述 |
---|---|
$client->disableLimit() |
在发送到Slack之前禁用限制检查 |
$client->getNotify() |
获取Notify 类实例 |
$client->getSlack() |
获取Notify 类实例 |