laravel-notification-channel-pr0gramm maintained by tschucki
Pr0gramm Laravel Notifications Channel
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.