nathanheffley/laravel-slack-blocks

此包已 弃用 并不再维护。作者建议使用 laravel/slack-notification-channel 包。

支持 Laravel 通知的 Slack Blocks。

v2.3.0 2020-12-01 19:20 UTC

This package is auto-updated.

Last update: 2023-11-29 15:29:32 UTC


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');
});