PHPackages                             deegitalbe/laravel-trustup-io-slack-notifications - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. deegitalbe/laravel-trustup-io-slack-notifications

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

deegitalbe/laravel-trustup-io-slack-notifications
=================================================

Basic versioned php package.

v2.0.0(4mo ago)03.8k↓79.4%1MITPHPCI passing

Since Dec 19Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/deegitalbe/laravel-trustup-io-slack-notifications)[ Packagist](https://packagist.org/packages/deegitalbe/laravel-trustup-io-slack-notifications)[ RSS](/packages/deegitalbe-laravel-trustup-io-slack-notifications/feed)WikiDiscussions main Synced 3d ago

READMEChangelog (6)Dependencies (6)Versions (13)Used By (1)

laravel-trustup-io-slack-notifications
======================================

[](#laravel-trustup-io-slack-notifications)

This package enhances laravel slack notifications, allowing to send direct messages.

Compatibility
-------------

[](#compatibility)

LaravelPackage8.x / 9.x1.x12.x2.xInstallation
------------

[](#installation)

### Require package

[](#require-package)

```
composer require deegitalbe/laravel-trustup-io-slack-notifications
```

### Env variables

[](#env-variables)

```
SLACK_API_TOKEN=
```

Usage
-----

[](#usage)

### Configure your models

[](#configure-your-models)

```
use Illuminate\Database\Eloquent\Model;
use Deegitalbe\LaravelTrustupIoSlackNotifications\Traits\Slack\SlackNotifiable;
use Deegitalbe\LaravelTrustupIoSlackNotifications\Contracts\Slack\SlackNotifiableContract;

use Illuminate\Notifications\Notification;

class User extends Model implements SlackNotifiableContract
{
    use SlackNotifiable;
}
```

### Configure your notification

[](#configure-your-notification)

#### Extending slack notification

[](#extending-slack-notification)

```
use Illuminate\Notifications\Messages\SlackMessage;
use Deegitalbe\LaravelTrustupIoSlackNotifications\SlackNotification;
use Deegitalbe\LaravelTrustupIoSlackNotifications\Enum\SlackChannel;

class OrderReceived extends SlackNotification
{
    public function slackChannel($notifiable): string|SlackChannel
    {
        return SlackChannel::PRODUCTS;
    }

    public function slackMessage(SlackMessage $message, $notifiable): SlackMessage
    {
        return $message->content("A new order has been made.");
    }
}
```

#### Implementing contract and using trait

[](#implementing-contract-and-using-trait)

```
use Illuminate\Notifications\Messages\SlackMessage;
use Deegitalbe\LaravelTrustupIoSlackNotifications\Enum\SlackChannel;
use Deegitalbe\LaravelTrustupIoSlackNotifications\Traits\Slack\IsSlackNotification;
use Deegitalbe\LaravelTrustupIoSlackNotifications\Contracts\Slack\SlackNotificationContract;

class OrderReceived extends Notification implements SlackNotificationContract
{
    use IsSlackNotification;

    public function slackChannel($notifiable): string|SlackChannel
    {
        return $notifiable->getSlackId();
    }

    public function slackMessage(SlackMessage $message, $notifiable): SlackMessage
    {
        return $message->content("A new order has been made.");
    }
}
```

#### Send notification to slack channel

[](#send-notification-to-slack-channel)

```
// Create notification
