This package makes it easy to send notifications using kChat with Laravel 5.5+, 6.x, 7.x, 8.x, 9.x, 10.x
This package leverages Infomaniak's public API to send notification to kChat channels with Laravel 5.5+, 6.x, 7.x, 8.x, 9.x and 10.x
return KChatMessage::create()
->to("123456789")
->content('The backup of your application succeeded')
->commentTo('987654321');
You can install the package via composer:
composer require karacweb/kchat-notification-channel
Next, if you're using Laravel without auto-discovery, add the service provider to config/app.php
:
'providers' => [
// ...
NotificationChannels\KChat\KChatServiceProvider::class,
],
- Create a token with the scope
kchat
- Retrieve the Url of your kChat instance, it should look like
https://your-team.kchat.infomaniak.com
. - Paste the token and your kChat base Url in your
config/services.php
file:// config/services.php 'infomaniak_kchat' => [ 'token' => 'YOUR_API_TOKEN', 'base_url' => 'https://your-team.kchat.infomaniak.com' ],
Now you can use the channel in your via()
method inside the notification:
use Illuminate\Notifications\Notification;
use NotificationChannels\KChat\KChatChannel;
use NotificationChannels\KChat\KChatMessage;
class BackupSucceeded extends Notification
{
public function via($notifiable)
{
return [KChatChannel::class];
}
public function toKChat($notifiable)
{
return KChatMessage::create()
->to("123456789")
->content('The backup of your application succeeded')
->commentTo('987654321'); // A post ID you wish to respond to
}
}
Instead of using the to($channel_id)
method for specifying the channel ID you can also add the routeNotificationForKChat
method inside your Notifiable model. This method needs to return the channel ID.
public function routeNotificationForKChat(Notification $notification)
{
return '123456789';
}
to(string $channel_id)
: The channel to send the message to.content(string $content)
: Content of the message (Markdown supported).commentTo(string $post_id)
: A post ID you wish to respond to.
// app/Notifications/InterestingNotification.php
public function toKChat($notifiable)
{
return KChatMessage::create()
->to("123456789")
->content(view('notificationTemplate', [
'variable' => 'ABC',
]));
}
// resources/views/notificationTemplate.blade.php
** ✅ Bold title **
Lorem ipsum *dolor* sit amet, ~~consectetur~~ adipiscing elit...
Variable content {{ $variable }}
Please see CHANGELOG for more information what has changed recently.
$ composer test
If you discover any security related issues, please email info@karac.ch instead of using the issue tracker.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.