airondev/laravel-slack-alerts

向 Slack 发送消息

dev-main 2023-03-01 06:55 UTC

This package is not auto-updated.

Last update: 2024-09-26 13:09:40 UTC


README

快速向 Slack 发送消息

Latest Version on Packagist run-tests PHPStan Check & fix styling Total Downloads

本包可以快速向 Slack 发送警报。您可以使用它来通知您应用程序中发生的任何值得注意的事件。

use Spatie\SlackAlerts\Facades\SlackAlert;

SlackAlert::message("You have a new subscriber to the {$newsletter->name} newsletter!");

在内部,使用作业与 Slack 进行通信。这可以防止 Slack 崩溃时您的应用程序失败。

想要向 Discord 发送警报吗?请查看 laravel-discord-alerts

支持我们

我们投入了大量资源来创建 最优秀的开源包。您可以通过 购买我们的付费产品之一 来支持我们。

我们非常感谢您从您的家乡寄来明信片,并提及您正在使用我们哪个包。您可以在 我们的联系页面 上找到我们的地址。我们在 我们的虚拟明信片墙上 发布所有收到的明信片。

安装

您可以通过 composer 安装此包

composer require spatie/laravel-slack-alerts

您可以为包含有效 Slack webhook URL 的 SLACK_ALERT_WEBHOOK 环境变量设置。您可以在 Slack API 文档中了解如何获取 webhook URL (链接)

或者,您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="slack-alerts-config"

这是发布配置文件的内容

return [
    /*
     * The webhook URLs that we'll use to send a message to Slack.
     */
    'webhook_urls' => [
        'default' => env('SLACK_ALERT_WEBHOOK'),
    ],

    /*
     * This job will send the message to Slack. You can extend this
     * job to set timeouts, retries, etc...
     */
    'job' => Spatie\SlackAlerts\Jobs\SendToSlackChannelJob::class,
];

用法

要向 Slack 发送消息,只需调用 SlackAlert::message() 并传入您想要的消息。

SlackAlert::message("You have a new subscriber to the {$newsletter->name} newsletter!");

使用多个 webhook

您还可以在配置文件中指定额外的 webhook,以使用替代 webhook。

// in config/slack-alerts.php

'webhook_urls' => [
    'default' => 'https://hooks.slack.com/services/XXXXXX',
    'marketing' => 'https://hooks.slack.com/services/YYYYYY',
],

可以使用 to 函数选择要使用的 webhook。

use Spatie\SlackAlerts\Facades\SlackAlert;

SlackAlert::to('marketing')->message("You have a new subscriber to the {$newsletter->name} newsletter!");

使用自定义 webhook

to 函数也支持自定义 webhook URL。

use Spatie\SlackAlerts\Facades\SlackAlert;

SlackAlert::to('https://custom-url.com')->message("You have a new subscriber to the {$newsletter->name} newsletter!");

格式化

Markdown

您可以使用 Slack 的 markup 格式化消息。在 Slack API 文档中了解如何 (链接)

use Spatie\SlackAlerts\Facades\SlackAlert;

SlackAlert::message("A message *with some bold statements* and _some italicized text_.");

链接的格式与经典 markdown 结构不同。

SlackAlert::message("<https://spatie.be|This is a link to our homepage>");

表情符号

您可以使用与 Slack 相同的表情符号代码。这意味着也支持自定义表情符号。

use Spatie\SlackAlerts\Facades\SlackAlert;

SlackAlert::message(":smile: :custom-code:");

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近发生了哪些变化。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全漏洞

请查看 我们的安全策略 了解如何报告安全漏洞。

鸣谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅 许可文件

替代方案

如果您想使用 Block Kit 发送丰富消息,我们建议使用 slack-php/slack-php-block-kit