jeremykenedy/slack-laravel

jeremykenedy/slack包的Laravel集成,包括外观和供应商。

v2.6.0 2020-10-19 17:05 UTC

This package is auto-updated.

Last update: 2024-09-20 03:02:50 UTC


README

Slack for Laravel

Slack for Laravel

Laravel的Slack集成,包括外观和供应商。此包允许您轻松优雅地在Laravel应用程序中使用Slack for PHP

Total Downloads Latest Stable Version StyleCI License: MIT

需求

安装

1. 在终端中从项目根目录运行
    composer require jeremykenedy/slack-laravel
2a. 注册应用(Laravel 5.5 +)

使用包自动发现功能,无需编辑config/app.php文件。

2b. 注册应用(Laravel 5.4及以下)

config/app.php中的providers下使用以下方式将包与Laravel注册

    'providers' => [
        jeremykenedy\Slack\Laravel\ServiceProvider::class,
    ];
3. 注册应用别名(Laravel 5.4及以下)

config/app.php中的aliases下使用以下方式将包与Laravel注册

    'aliases' => [
        'Slack' => jeremykenedy\Slack\Laravel\Facade::class,
    ];
4. 发布资产(所有)

在终端中从项目根目录运行,以发布配置文件

    php artisan vendor:publish --tag=slacklaravel
5. 创建Webhook(所有)

为要向其发送消息的每个Slack团队创建一个接收webhook。您将需要webhook URL(s)才能配置此包。

6. 配置.env(所有)

通过添加和编辑以下内容在您的.env文件中配置Laravel的Slack

DEFAULT_SLACK_WEBHOOK_ENDPOINT=https://hooks.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXXXXX
DEFAULT_SLACK_CHANNEL='#general'
DEFAULT_SLACK_USERNAME=Robot
DEFAULT_SLACK_ICON=':ghost:'
DEFAULT_SLACK_LINKNAMES_CONVERTED=FALSE
DEFAULT_SLACK_UNFURL_LINKS_STATUS=FALSE
DEFAULT_SLACK_UNFURL_MEDIA_STATUS=TRUE
DEFAULT_SLACK_ALLOW_MARKDOWN=TRUE
DEFAULT_SLACK_MARKDOWN_FIELDS="'text','title'"

配置

配置文件包含默认值和占位符。至少配置一个团队以及您想要更改的任何默认值。默认配置发布到config/slack.php,并在.env文件中按如下设置值

DEFAULT_SLACK_WEBHOOK_ENDPOINT=https://hooks.slack.com/services/XXXXXXXX/XXXXXXXX/XXXXXXXXXXXXXX
DEFAULT_SLACK_CHANNEL='#general'
DEFAULT_SLACK_USERNAME=Robot
DEFAULT_SLACK_ICON=':ghost:'
DEFAULT_SLACK_LINKNAMES_CONVERTED=FALSE
DEFAULT_SLACK_UNFURL_LINKS_STATUS=FALSE
DEFAULT_SLACK_UNFURL_MEDIA_STATUS=TRUE
DEFAULT_SLACK_ALLOW_MARKDOWN=TRUE
DEFAULT_SLACK_MARKDOWN_FIELDS="'text','title'"

用法

1. 包含类

  • 在任何地方使用外观
\Slack::send('Hey');

2. 触发Slack消息

发送到默认频道
  • 向默认频道发送消息
    Slack::send('Hi Slack, from the API :)');
发送到不同频道
  • 向不同频道发送消息
    Slack::to('#testing')->send('Hi Testing!');
发送到私密消息
  • 向私密频道发送消息
    Slack::to('@jeremykenedy')->send('Hi Jeremy!');

测试中的模拟

在外观上使用fake方法

    Slack::fake()

这提供了以下内容

    Slack::assertMessageSent(function($messages) {
        // search in all messages
    });

    Slack::assertMessageSentTo($channel, function($messages) {
        // search in all messages posted to $channel
    });

鸣谢

  • 大部分开发荣誉应归功于maknz
  • 此包是从其分支中提取并改进的。原始包声明它不再维护。
  • 此包是从其分支中提取并修改,以符合MIT许可标准,用于生产使用。

许可证

Slack for Laravel根据MIT许可证许可,适用于个人和商业产品。享受吧!