Skip to content

Send Notification to discord channel Webhook using native FilamentPHP Notification Facade class

License

Notifications You must be signed in to change notification settings

tomatophp/filament-discord

Repository files navigation

Screenshot

Filament Discord Notifications

Latest Stable Version PHP Version Require License Downloads

Send Notification to discord channel Webhook using native FilamentPHP Notification Facade class

Screenshots

Notification Error Log Error Log Link

Installation

composer require tomatophp/filament-discord

after install on your .env file set

DISCORD_WEBHOOK=
DISCORD_ERROR_WEBHOOK=
DISCORD_ERROR_WEBHOOK_ACTIVE=

where DISCORD_WEBHOOK the main notification channel webhook and DISCORD_ERROR_WEBHOOK is the error logger channel webhook and DISCORD_ERROR_WEBHOOK_ACTIVE to be true or false to active and stop logger

Using

you can send notification to discord with multi-way the first of it is using native FilamentPHP Notification::class

use \Filament\Notifications\Notification;

Notification::make()
    ->title('Hi')
    ->body('Welcome On The Moon!')
    ->sendToDiscord()

you can attach image to the message like this

use \Filament\Notifications\Notification;

Notification::make()
    ->title('Hi')
    ->body('Welcome On The Moon!')
    ->sendToDiscord(image: "https://raw.githubusercontent.com/tomatophp/filament-discord/master/arts/3x1io-tomato-discord.jpg")

Send to Selected User

you can send a notification to selected user webhook by add a column on your user table with name webhook and then add this tait to User model

use TomatoPHP\FilamentDiscord\Traits\InteractsWithDiscord;

class User {
    use InteractsWithDiscord;
}

and now you can send notification to the user like this

use \Filament\Notifications\Notification;

Notification::make()
    ->title('Hi')
    ->body('Welcome On The Moon!')
    ->sendToDiscord($user)

Allow Discord Error Logger

you can use Discord channel as an error logger to log and followup your error with a very easy way, on your bootstrap/app.php add this class like this

use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
use ProtoneMedia\Splade\Http\SpladeMiddleware;

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        api: __DIR__.'/../routes/api.php',
        commands: __DIR__.'/../routes/console.php',
        channels: __DIR__.'/../routes/channels.php',
        health: '/up',
    )
    ->withMiddleware(function (Middleware $middleware) {
    })
    ->withExceptions(function (Exceptions $exceptions) {
        \TomatoPHP\FilamentDiscord\Helpers\DiscordErrorReporter::make($exceptions);
    })->create();

Publish Assets

you can publish config file by use this command

php artisan vendor:publish --tag="filament-discord-config"

Support

you can join our discord server to get support TomatoPHP

Docs

you can check docs of this package on Docs

Changelog

Please see CHANGELOG for more information on what has changed recently.

Security

Please see SECURITY for more information about security.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Send Notification to discord channel Webhook using native FilamentPHP Notification Facade class

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages