nathanheffley / laravel-slack-blocks
v2.3.0
2020-12-01 19:20 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
包的扩展。
注意
核心通知包终于内置了对这些丰富的 Slack 消息的支持,因此如果您能够使用,应该使用官方包。
https://laravel.net.cn/docs/10.x/notifications#formatting-slack-notifications
用法
您应该使用此包而不是要求官方包。
composer require nathanheffley/laravel-slack-blocks
由于此包基于官方包构建,因此您将拥有官方文档中 官方文档 中提供的所有功能。
您可以根据要求从 NathanHeffley\LaravelSlackBlocks
而不是 Illuminate\Notifications
类的要求进行轻微调整。
基本 Illuminate 通知类支持的所有功能都支持这些扩展类。
如果您想在 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');
});