lisennk / laravel-slack-web-api
Slack Web API 的轻量级 Laravel 包装器
Requires
- frlnc/php-slack: ^1.0
Requires (Dev)
- phpunit/phpunit: 5.5.*
This package is not auto-updated.
Last update: 2024-09-21 13:17:28 UTC
README
这是一个轻量级的 Laravel 5 包装器,用于 Slack Web API,包括外观和配置选项。
请注意,这种实现非常轻量,这意味着你需要做比平时更多的工作,但作为回报,你会得到更多的灵活性。此包不提供像 Chat::postMessage(string $message)
这样的方法,它只提供一种方法:SlackApi::execute(string $method, array $parameters)
。
👍 使用此包的原因
- 内置符合 Slack API 速率限制
- 轻量级,灵活
- 现代 Laravel 集成
- 测试覆盖率
- 文档中有许多表情符号(甚至有猫!🐈)
🌎 安装
1) 使用 Composer 安装包
composer require lisennk/laravel-slack-web-api
2) 打开 config/app.php
并将 \Lisennk\Laravel\SlackWebApi\Providers\SlackApiServiceProvider::class
添加到 providers[]
数组中
例如
// ... 'providers' => [ // ... // A whole bunch of providers // ... \Lisennk\Laravel\SlackWebApi\Providers\SlackApiServiceProvider::class ], // ...
3) 如果你想使用外观,请将 \Lisennk\Laravel\SlackWebApi\Facades\SlackApi::class
添加到 config/app.php
中的 aliases[]
数组中
例如
// ... 'aliases' => [ // ... // A whole bunch of aliases // ... 'SlackApi' => \Lisennk\Laravel\SlackWebApi\Facades\SlackApi::class ], // ...
4) 发布配置文件
php artisan vendor:publish
5) 打开 config/slack.php
并插入你的 令牌 以进行 API 请求
'token' => 'your-token-here'
🍴 使用
要发出 Slack API 请求,你需要调用 SlackApi
类的 execute
方法,并传递 Slack Web API 方法名称和任何参数。例如
$api->execute('method.name', [ 'parameter_one' => 'some-data', 'parameter_two' => 'some-other-data' // ... ];
这将返回包含 Slack 响应数据的纯 PHP 数组。
####1) 控制器中的基本用法示例
use \Lisennk\Laravel\SlackWebApi\SlackApi; use \Lisennk\Laravel\SlackWebApi\Exceptions\SlackApiException; // ... public function postMessage(SlackApi $api) { try { $response = $api->execute('users.info', [ 'user' => 'U1234567890' ]); $name = $response['user']['name']; // Do something amazing with data from Slack... } catch (SlackApiException $e) { return 'Error:' . $e->getMessage(); } } // ...
####2) 使用外观的基本用法
use \Lisennk\Laravel\SlackWebApi\Exceptions\SlackApiException; // ... public function postMessage() { try { $response = SlackApi::execute('users.info', [ 'user' => 'U1234567890' ]); $name = $response['user']['name']; // Do something amazing with data from Slack... } catch (SlackApiException $e) { return 'Error:' . $e->getMessage(); } } // ...
🌺 贡献
请随意创建拉取请求或问题,并报告错误。
📚 参考
- 要使用 Slack 事件 API,我们建议使用 Laravel Slack Events API 包