Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Rocket Chat Notifier Laravel Package

symfony/rocket-chat-notifier

Symfony Notifier bridge for Rocket.Chat. Configure a rocketchat:// DSN with incoming webhook token and default channel, then send ChatMessages. Supports custom payload (alias/avatar/channel overrides) and multiple attachments for rich messages.

View on GitHub
Deep Wiki
Context7

RocketChat Notifier

Provides RocketChat integration for Symfony Notifier.

DSN example

ROCKETCHAT_DSN=rocketchat://ACCESS_TOKEN@default?channel=CHANNEL

where:

  • ACCESS_TOKEN is your RocketChat webhook token
  • CHANNEL is your RocketChat channel, it may be overridden in the payload

Example (be sure to escape the middle slash with %2F):

# Webhook URL: https://rocketchathost/hooks/a847c392165c41f7bc5bbf273dd701f3/9343289d1c33464bb15ef132b5a7628d
ROCKETCHAT_DSN=rocketchat://a847c392165c41f7bc5bbf273dd701f3%2F9343289d1c33464bb15ef132b5a7628d@rocketchathost?channel=channel

Attachments and Payload

When creating a ChatMessage, you can add payload and multiple attachments to RocketChatOptions. These enable you to customize the name or the avatar of the bot posting the message, and to add files to it.

The payload can contain any data you want; its data is processed by a Rocket.Chat Incoming Webhook Script which you can write to best suit your needs. For example, you can use this script to send the raw payload to Rocket.Chat:

 class Script {
     process_incoming_request({ request }) {
         return {
             request.content
         };
     }
}

When using this script, the Payload must be indexed following Rocket.Chat Payload convention:

$payload = [
   'alias' => 'Bot Name',
   'emoji' => ':joy:', // Emoji used as avatar
   'avatar' => 'http://site.com/logo.png', // Overridden by emoji if provided
   'channel' => '#myChannel', // Overrides the DSN's channel setting
];

$attachement1 = [
    'color' => '#ff0000',
    'title' => 'My title',
    'text' => 'My text',
    // ...
];

$attachement2 = [
    'color' => '#ff0000',
    'title' => 'My title',
    'text' => 'My text',
    // ...
];

// For backward compatibility reasons, both usages are valid
$rocketChatOptions = new RocketChatOptions($attachement1, $payload);
$rocketChatOptions = new RocketChatOptions([$attachement1, $attachement2], $payload);

Note: the text and attachments keys of the payload will be overridden respectively by the ChatMessage's subject and the attachments provided in RocketChatOptions' constructor.

See Also

Sponsor

This package is looking for a backer.

Help Symfony by sponsoring its development!

Resources

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor