<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
team-nifty-gmbh / laravel-rocket-chat-notifications example snippets
// config/rocket-chat.php
...
/*
|--------------------------------------------------------------------------
| Default RocketChat Connection Name
|--------------------------------------------------------------------------
|
| Here you may specify which RocketChat connections below you wish
| to use as your default connection for all RocketChat notifications. Of course
| you may use many connections at once using the RocketChat static methods or
| RocketChatMessage connection method.
|
*/
'default' => env('ROCKETCHAT_CONNECTION', 'rocket-chat'),
/*
|--------------------------------------------------------------------------
| RocketChat Connections
|--------------------------------------------------------------------------
|
| Here are each of the RocketChat connections setup for your application.
|
*/
'connections' => [
'rocket-chat' => [
// Base URL for RocketChat API server (https://your.rocketchat.server.com)
'url' => env('ROCKETCHAT_URL'),
'token' => env('ROCKETCHAT_TOKEN'),
'user_id' => env('ROCKETCHAT_USER_ID')
]
]
...
use Illuminate\Notifications\Notification;
use TeamNiftyGmbh\RocketChatNotifications\Channels\RocketChatNotificationChannel;
use TeamNiftyGmbh\RocketChatNotifications\Messages\RocketChatMessage;
class TaskCompleted extends Notification
{
public function via(mixed $notifiable): array
{
return [
RocketChatNotificationChannel::class
];
}
public function toRocketChat($notifiable): RocketChatMessage
{
return RocketChatMessage::create('Test Message');
}
}
public function routeNotificationForRocketChat(): string
{
return 'channel_name';
}
public function toRocketChat($notifiable)
{
return RocketChatMessage::create('Test message')
->connection('rocket-chat') // optional to alter the default connection, overrides 'domain', 'to' and 'from'
->domain('https://your.rocketchat.server.com') //optional if set in config
->to('channel_name') // optional if set in config
->from('access_token', 'rocket_chat_user_id') // optional if set in config
->attachments([
RocketChatAttachment::create()->imageUrl('test'),
RocketChatAttachment::create(['image_url' => 'test']),
new RocketChatAttachment(['image_url' => 'test']),
[
'image_url' => 'test'
]
]);
}
[
[
'short' => false, // Whether this field should be a short field. Default: false
'title' => 'Title 1', //The title of this field. Required
'value' => 'Value 1' // The value of this field, displayed underneath the title value. Required
],
[
'short' => true,
'title' => 'Title 2',
'value' => 'Value 2'
],
];
use TeamNiftyGmbh\RocketChatNotifications\Messages\RocketChatMessage;
use TeamNiftyGmbh\RocketChatNotifications\RocketChat
RocketChat::send('domain', 'token', 'userId', 'channel', RocketChatMessage::create('message'));
use TeamNiftyGmbh\RocketChatNotifications\Messages\RocketChatMessage;
use TeamNiftyGmbh\RocketChatNotifications\RocketChat
RocketChat::sendVia('connection', 'channel', RocketChatMessage::create('message'));