hampel/slack-message

从 illuminate/notifications 中独立实现的 Laravel's SlackMessage 类

1.1.0 2019-10-14 05:31 UTC

This package is auto-updated.

Last update: 2024-09-10 05:08:19 UTC


README

Latest Version on Packagist Total Downloads Open Issues License

illuminate/notifications 中独立实现的 Laravel's SlackMessage 类。

此包提供了一个生成正确格式化 Slack 消息并通过 Guzzle 发送它们的机制。非常适合与简单的 Slack 入站 Webhook 一起使用,但也可以与 API 调用一起使用。

Simon Hampel 根据 Taylor Otwell 的代码编写,并使用 MIT 许可证 发布。

先决条件

您需要提供一个 Guzzle 客户端 (^6.0|^7.0) 来发送 Slack 消息。

安装

要使用 composer 安装,请运行以下命令

composer require hampel/slack-message

用法

有关生成 Slack 消息的信息,请参阅 Laravel 的 Slack 通知 文档。语法与 Laravel 中使用的语法基本相同,但我们不需要使用 Notifiable 类 - 我们可以直接生成并发送我们的 Slack 消息。

use Carbon\Carbon;
use GuzzleHttp\Client;
use Hampel\SlackMessage\SlackMessage;
use Hampel\SlackMessage\SlackWebhook;

$url = 'https://hooks.slack.com/services/<Slack incoming webhook url>';
$slack = new SlackWebhook(new Client());

$message = $slack->message(function ($message) {
    $message
        ->content('Content')
        ->attachment(function ($attachment) {
            $attachment
                ->title('Laravel', 'https://laravel.net.cn')
                ->content('Attachment Content')
                ->fallback('Attachment Fallback')
                ->fields([
                    'Project' => 'Laravel',
                ])
                ->footer('Laravel')
                ->footerIcon('https://laravel.net.cn/fake.png')
                ->markdown(['text'])
                ->author('Author', 'https://laravel.net.cn/fake_author', 'https://laravel.net.cn/fake_author.png')
                ->timestamp(Carbon::now());
        });
});

$slack->send($url, $message);

参考