tschucki/laravel-notification-channel-pr0gramm

Laravel notification driver for Pr0gramm.

0.0.1 2024-01-14 15:20 UTC

This package is auto-updated.

Last update: 2024-05-14 16:01:54 UTC


README

Latest Version on Packagist Software License StyleCI Total Downloads

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.