lisennk / laravel-slack-web-api
Light Laravel wrapper for Slack Web API
Installs: 17 162
Dependents: 0
Suggesters: 0
Security: 0
Stars: 21
Watchers: 2
Forks: 3
Open Issues: 0
Requires
- frlnc/php-slack: ^1.0
Requires (Dev)
- phpunit/phpunit: 5.5.*
This package is not auto-updated.
Last update: 2024-11-02 13:47:46 UTC
README
Lightweight Laravel 5 wrapper for the Slack Web API, including a facade and config options.
Please note that this implementation is very lightweight meaning you'll need to do some more work than usual, but in return you get a lot more flexibility. This package doesn't provide methods such as Chat::postMessage(string $message)
, it just provides one method: SlackApi::execute(string $method, array $parameters)
.
👍 Reasons to use this package for the Slack API:
- Built-in compliance with the Slack API rate limits
- Lightweight, flexible
- Modern Laravel integration
- Test coverage
- Lots of emoji in the documentation (even cats! 🐈)
🌎 Installation
1) Require the package with Composer
composer require lisennk/laravel-slack-web-api
2) Open config/app.php
and add \Lisennk\Laravel\SlackWebApi\Providers\SlackApiServiceProvider::class
to the providers[]
array
For example:
// ... 'providers' => [ // ... // A whole bunch of providers // ... \Lisennk\Laravel\SlackWebApi\Providers\SlackApiServiceProvider::class ], // ...
3) If you want to use the Facade, add \Lisennk\Laravel\SlackWebApi\Facades\SlackApi::class
to the aliases[]
array in config/app.php
For example:
// ... 'aliases' => [ // ... // A whole bunch of aliases // ... 'SlackApi' => \Lisennk\Laravel\SlackWebApi\Facades\SlackApi::class ], // ...
4) Publish the config file
php artisan vendor:publish
5) Open config/slack.php
and insert your token to make API requests
'token' => 'your-token-here'
🍴 Usage
To make Slack API requests, you need to call the execute
method of the SlackApi
class and pass the Slack Web API method name and any parameters. For example:
$api->execute('method.name', [ 'parameter_one' => 'some-data', 'parameter_two' => 'some-other-data' // ... ];
This will return a plain PHP array containing the response data from Slack.
####1) Basic example of usage in a Controller:
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) Basic usage with the Facade:
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(); } } // ...
🌺 Contributing
Feel free to create pull requests or issues, and report typos.
📚 Reference
- To use Slack Events API, we recommend the Laravel Slack Events API package