wijourdil / ntfy-notification-channel
ntfy.sh Notification Channel for Laravel
Installs: 3 599
Dependents: 0
Suggesters: 0
Security: 0
Stars: 14
Watchers: 1
Forks: 1
Open Issues: 0
Requires
- php: ^8.2
- illuminate/contracts: ^11.0
- spatie/laravel-package-tools: ^1.13.0
- thecodingmachine/safe: ^2.4
- verifiedjoseph/ntfy-php-library: ^4.0
- webmozart/assert: ^1.11
Requires (Dev)
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^8.1
- orchestra/testbench: ^9.0
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpstan/phpstan-webmozart-assert: ^1.2
- phpunit/phpunit: ^10.1
- thecodingmachine/phpstan-safe-rule: ^1.2
README
This package adds a Laravel Notification Channel to sent messages via ntfy. It's build on top of the verifiedjoseph/ntfy-php-library package.
Installation
Install the package via composer:
composer require wijourdil/ntfy-notification-channel
Publish the config file with:
php artisan vendor:publish --tag="ntfy-notification-channel-config"
Configuration
If you are using the online version https://ntfy.sh, you don't need to configure the server base url.
But if you are using a self-hosted version of ntfy, you can configure it in your .env
file:
NTFY_SERVER=https://ntfy.example.com
By default, authentication is disabled. If you want to connect using credentials, you can also configure it within you .env
file:
NTFY_AUTH_ENABLED=true NTFY_AUTH_USERNAME=michel NTFY_AUTH_PASSWORD=m0tDeP4ss3
To see default values and other settings, see the config/ntfy-notification-channel.php
config file.
Usage
In your Notification class, tell Laravel to send your notification via ntfy
by returning the NtfyChannel::class
in the via()
method:
use Wijourdil\NtfyNotificationChannel\Channels\NtfyChannel; public function via($notifiable) { return [NtfyChannel::class]; }
Then, define a toNtfy()
method in your Notification:
use Ntfy\Message; public function toNtfy(mixed $notifiable): Message { $message = new Message(); $message->topic('test'); $message->title('It works!'); $message->body("And voila, I sent my notification using ntfy.sh!"); $message->tags(['white_check_mark', 'ok_hand']); return $message; }
Here is what the notification looks like using the ntfy mobile app:
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
License
The MIT License (MIT). Please see License File for more information.