This package allows you to use Slack for PHP easily and elegantly in your Laravel 4+ app. Read the instructions below to get setup, and then head on over to Slack for PHP for usage details.
Laravel 4+
You can install the package using the Composer package manager. You can install it by running this command in your project root:
composer require prestamodule/slack-laravel "^3.0"
composer require prestamodule/slack-laravel "^2.0"
Then create an incoming webhook for each Slack team you'd like to send messages to. You'll need the webhook URL(s) in order to configure this package.
Add the Razorpay\Slack\Laravel\ServiceProvider
provider to the providers
array in config/app.php
:
'providers' => [
Razorpay\Slack\Laravel\ServiceProvider::class,
],
Then add the facade to your aliases
array:
'aliases' => [
...
'Slack' => Razorpay\Slack\Laravel\Facade::class,
],
Finally, publish the config file with php artisan vendor:publish
. You'll find it at config/slack.php
.
Add the Razorpay\Slack\Laravel\ServiceProvider
provider to the providers
array in app/config.php
:
'providers' => [
...
'Razorpay\Slack\Laravel\ServiceProvider',
],
Then add the facade to your aliases
array:
'aliases' => [
...
'Slack' => 'Razorpay\Slack\Laravel\Facade',
],
Finally, publish the config file with php artisan config:publish razorpay/slack
. You'll find the config file at app/config/packages/razorpay/slack-laravel/config.php
.
The config file comes with defaults and placeholders. Configure at least one team and any defaults you'd like to change.
The Slack facade is now your interface to the library. Any method you see being called an instance of Razorpay\Slack\Client
is available on the Slack
facade for easy use.
Note that if you're using the facade in a namespace (e.g. App\Http\Controllers
in Laravel 5) you'll need to either use Slack
at the top of your class to import it, or append a backslash to access the root namespace directly when calling methods, e.g. \Slack::method()
.
// Send a message to the default channel
Slack::send('Hello world!');
// Send a message to a different channel
Slack::to('#accounting')->send('Are we rich yet?');
// Send a private message
Slack::to('@username')->send('psst!');
Now head on over to Slack for PHP for more examples, including attachments and message buttons.
Version 2.0 adds support for multiple slack clients. For migrating 1.X to 2.0, nest all the configuration properties inside defaults
key in the configuration file. Configuration for additional clients can be specified in the clients
property.
[
'is_slack_enabled' => true,
'defaults' => [
// default slack client configuration.
],
clients => [
// Additional slack clients configuration
'client1' => [
]
]
]