gsouillard / laravel-new-user-slack-notifier
一个Laravel包,用于在用户注册时发送Slack通知。
v1.1.2
2024-08-29 13:46 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
- laravel/framework: ^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^10.0
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:确定要监听的事件。您可以将此设置为默认的
Registered
或Verified
,以便根据特定事件发送通知。
示例配置
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中的Registered
或Verified
事件来工作。默认情况下,它监听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)。有关更多信息,请参阅许可证文件。