jahmed76 / laravel-slack-blocks
为 Laravel 通知提供 Slack Blocks 支持。
资助包维护!
nathanheffley
v2.3.2
2021-12-10 10:23 UTC
Requires
- php: ^7.1.3|^8.0
- guzzlehttp/guzzle: ^6.0|^7.0
- laravel/slack-notification-channel: ^2.0
Requires (Dev)
- illuminate/notifications: ~5.8.0|^6.0|^7.0|^8.0
- mockery/mockery: ^1.0
- phpunit/phpunit: ^7.0|^8.0|^9.0
README
此包是官方 laravel/slack-notification-channel 包的扩展。
用法
您应该使用此包而不是官方包。
composer require jahmed76/laravel-slack-blocks
因为这个包是基于官方包构建的,所以您将拥有官方文档中找到的所有功能 (官方文档)。
您可以根据以下说明操作,只需将 NathanHeffley\LaravelSlackBlocks 类的要求改为 Illuminate\Notifications 即可。
基本 Illuminate Notifications 类支持的任何内容,这些扩展类都支持。
如果您想在 Slack 消息中添加一个块,您需要在附件中添加该块。
use NathanHeffley\LaravelSlackBlocks\Messages\SlackMessage;
// ...
public function toSlack($notifiable)
{
return (new SlackMessage)
->attachment(function ($attachment) {
$attachment->block(function ($block) {
$block
->type('section')
->text([
'type' => 'mrkdwn',
'text' => '*Hello World!*',
]);
});
});
}
要查看您可以添加到块的所有可能字段,请查看 官方 Slack Blocks 文档。
为了帮助,一些块在附件模型本身上已经提供了专门的辅助函数。目前有添加分隔符和图像的方法。
(new SlackMessage)->attachment(function ($attachment) {
$attachment->imageBlock('http://placekitten.com/300/200', 'A cute kitten');
$attachment->dividerBlock();
$attachment->imageBlock('http://placekitten.com/300/200', 'A cute kitten', 'This is a titled cat image');
});