tschucki / laravel-notification-channel-pr0gramm
Laravel notification driver for Pr0gramm.
Requires
- php: >=8.1
- illuminate/notifications: ^7.0 || ^8.0 || ^9.0 || ^10.0
- illuminate/support: ^7.0 || ^8.0 || ^9.0 || ^10.0
- tschucki/laravel-pr0gramm-api: 1.0.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.46
- mockery/mockery: ^1.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-12-14 17:23:48 UTC
README
This package makes it easy to send notifications to Pr0gramm users with Laravel.
Contents
Installation
You can install the package via composer:
composer require tschucki/laravel-notification-channel-pr0gramm
Next, you must load the service provider if you don't use auto-discovery:
// config/app.php 'providers' => [ // ... NotificationChannels\Pr0gramm\Pr0grammServiceProvider::class, ],
Setting up the Pr0gramm service
It is recommended to use the credentials of a bot account, as you will not be able to solve the required captcha. You can read more about the Pr0gramm-API and how to get your credentials here.
Next, you must add your Pr0gramm Credentials in config/services.php
:
// config/services.php 'pr0gramm' => [ 'username' => env('PR0GRAMM_USERNAME'), 'password' => env('PR0GRAMM_PASSWORD'), ],
Usage
In every model you wish to be notifiable via Pr0gramm, you must add a getPr0grammName
method that returns the name of
the user on Pr0gramm.
// app/Models/User.php public function getPr0grammName(): string { return $this->pr0grammName; }
You can now use the channel in your via()
method inside the notification (You can also use 'pr0gramm'
as channel
name)):
use NotificationChannels\Pr0gramm\Pr0grammChannel; public function via($notifiable) { return [Pr0grammChannel::class]; }
Next, you must add a toPr0gramm
method to your notification containing the message you wish to send to the user:
public function toPr0gramm($notifiable): string { return 'Message from Laravel'; }
NOTE - RATE LIMIT: As the rate limit for sending messages is quite low, you will probably run into the
Pr0grammRateLimitReached
-Exception.You can handle this exception through your try catch block or when using the queue driver by adding a
failed
-method
That's it, you're ready to go!
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Security
If you discover any security related issues, please email info@marcelwagner.dev instead of using the issue tracker.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.