Discord notifications for PIREP and News events #433 (#1215)

* Discord notifications for events #433

* Style fixes

* Check for blank webhook urls and disable

* Cleanup items after review

* Changes and fixes

* Style fixes

* Don't load env for testing

* Fix status text

* Refactor saving fields/fares so events get the latest data

* Cleanup

* Style fixes
This commit is contained in:
Nabeel S
2021-06-04 10:51:59 -04:00
committed by GitHub
parent 17447c6903
commit 9b2e466b7e
46 changed files with 1249 additions and 456 deletions

View File

@@ -4,17 +4,15 @@ namespace App\Notifications\Messages;
use App\Contracts\Notification;
use App\Models\User;
use App\Notifications\Channels\Discord\Discord;
use App\Notifications\Channels\Discord\DiscordMessage;
use App\Notifications\Channels\MailChannel;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
class AdminUserRegistered extends Notification implements ShouldQueue
{
use Queueable;
use MailChannel;
public $channels = ['mail'];
private $user;
/**
@@ -34,6 +32,32 @@ class AdminUserRegistered extends Notification implements ShouldQueue
);
}
public function via($notifiable)
{
return ['mail', Discord::class];
}
/**
* Send a Discord notification
*
* @param User $pirep
* @param mixed $user
*
* @return DiscordMessage|null
*/
public function toDiscordChannel($user): ?DiscordMessage
{
if (empty(setting('notifications.discord_private_webhook_url'))) {
return null;
}
$dm = new DiscordMessage();
return $dm->webhook(setting('notifications.discord_private_webhook_url'))
->success()
->title('New User Registered: '.$user->ident)
->fields([]);
}
public function toArray($notifiable)
{
return [