denis-korolev / mattermost-webhook
Library to send messages with Mattermost Webhook
1.0.2
2020-12-04 20:27 UTC
Requires
- php: ^7.4
- ext-json: ^7.4
- guzzlehttp/guzzle: ^7.2
- nyholm/psr7: ^1.3
- psr/http-client: ^1.0
- webmozart/assert: ^1.6
Requires (Dev)
- overtrue/phplint: ^2.0
- phpunit/phpunit: ^9.2
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^3.5
- vimeo/psalm: ^3.8
This package is auto-updated.
Last update: 2024-11-19 02:34:06 UTC
README
Client to work with Matermost webhook
This library will help you send messages to Mattermost by Webhook.
Installation / Usage
Install the latest version via composer:
composer require denis-korolev/mattermost-webhook
Here is an example of usage.
use App\Mattermost\Attachment; use App\Mattermost\Message; use App\Mattermost\WebhookClient; use App\Mattermost\WebhookParams; use GuzzleHttp\Client; // Any PSR7 Client $psr7Client = new Client(); $webhookParams = new WebhookParams('http://matermost/hooks/2222222222', 'town-square', 'tester'); $client = new WebhookClient($psr7Client, $webhookParams); $attachment = (new Attachment())->setFallback('This is the fallback test for the attachment.') ->setSuccessColor() ->setPretext('This is optional pretext that shows above the attachment.') ->setText('This is the text. **Finaly!** :let_me_in: '); // you can add array of attachments $message = new Message('Testing Mattermost client', '', [$attachment]); $client->send($message); // or $client->batchSend([$message]);
If you need to send huge text, more than 4000 symbols, you can use
$messages = MessageHelper::createMessagesWithTextAttachments('huge text, longer 4000 symbols'); $client->batchSend(...$messages);
It will create Message[], which you can send. It will break text by pages and qoute it by ``` So you just send it and it will print at chat one after another.