gsouillard/laravel-new-user-slack-notifier

一个Laravel包,用于在用户注册时发送Slack通知。

v1.1.2 2024-08-29 13:46 UTC

This package is auto-updated.

Last update: 2024-09-29 14:00:06 UTC


README

一个Laravel包,用于在您应用程序的新用户注册时发送Slack通知。

安装

您可以通过Composer安装此包

composer require gsouillard/laravel-new-user-slack-notifier

配置

安装包后,发布配置文件

php artisan vendor:publish --tag=config

这将在您的config目录中创建一个名为slack-new-user-notifier.php的配置文件。

配置选项

  • webhook_url:通知将发送到的Slack Webhook URL。这应在您的.env文件中设置为SLACK_NEW_USER_NOTIFIER_WEBHOOK_URL
  • app_name:您的应用程序的名称,将包含在Slack通知中。默认情况下为您的.env文件中定义的APP_NAME,但您可以在配置文件中覆盖它。
  • event_to_listen:确定要监听的事件。您可以将此设置为默认的RegisteredVerified,以便根据特定事件发送通知。

示例配置

return [
    'webhook_url' => env('SLACK_NEW_USER_NOTIFIER_WEBHOOK_URL', ''),
    'app_name' => env('APP_NAME', 'Your Application'), // Default: APP_NAME
    'event_to_listen' => env('SLACK_NEW_USER_NOTIFIER_EVENT', 'Registered'), // Default: Registered
];

用法

此包通过监听Laravel中的RegisteredVerified事件来工作。默认情况下,它监听Registered事件。您可以通过设置event_to_listen配置选项来更改此设置。

在您的EventServiceProvider中,该包会根据您的配置自动注册监听器

use YourNamespace\SlackNotifier\SlackNotifier;
use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Events\Verified;
use Illuminate\Support\Facades\Event;

class EventServiceProvider extends ServiceProvider
{
    public function boot()
    {
        parent::boot();

        $eventToListen = config('slack-new-user-notifier.event_to_listen', 'Registered');

        if ($eventToListen === 'Verified') {
            Event::listen(Verified::class, function ($event) {
                SlackNotifier::notify($event->user->email);
            });
        } else {
            Event::listen(Registered::class, function ($event) {
                SlackNotifier::notify($event->user->email);
            });
        }
    }
}

示例 .env 配置

在您的.env文件中添加

SLACK_NEW_USER_NOTIFIER_WEBHOOK_URL=https://hooks.slack.com/services/XXXXX/XXXXX/XXXXX
APP_NAME=My Awesome App
SLACK_NEW_USER_NOTIFIER_EVENT=Registered

如果只想在用户验证其电子邮件后发送通知,请将SLACK_NEW_USER_NOTIFIER_EVENT设置为Verified

测试

要运行测试,您可以使用PHPUnit

vendor/bin/phpunit

提交规则和版本控制

此项目遵循语义版本控制。在做出更改时,请使用以下提交信息约定来自动更新包版本

  • 主要版本升级:对于破坏性更改,请在您的提交信息中包含bump:major
  • 次要版本升级:对于向后兼容的新功能,请在您的提交信息中包含bump:minor
  • 补丁版本升级:对于向后兼容的错误修复或小改进,请在您的提交信息中包含bump:patch

示例提交信息

  • 修复关键问题 bump:major
  • 添加新功能 bump:minor
  • 修复小错误 bump:patch

许可证

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