tomatophp / filament-discord
Send Notification to discord channel Webhook using native FilamentPHP Notification Facade class
Fund package maintenance!
3x1io
Requires
- php: ^8.1|^8.2
- filament/filament: ^3.0.0
- filament/notifications: ^3.0.0
- tomatophp/console-helpers: ^1.1
This package is auto-updated.
Last update: 2024-10-11 14:56:25 UTC
README
Filament Discord Notifications
Send Notification to discord channel Webhook using native FilamentPHP Notification Facade class
Screenshots
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"
Other Filament Packages
Checkout our Awesome TomatoPHP