updated DiscordMessages for Internal&ScheduledTask notifications

This commit is contained in:
Jakub Novák
2024-10-01 21:42:13 +02:00
parent f021a42890
commit cb5dc13bf1
3 changed files with 23 additions and 4 deletions

View File

@@ -28,6 +28,11 @@ class DiscordMessage
return hexdec('ff705f'); return hexdec('ff705f');
} }
public static function infoColor(): int
{
return hexdec('4f545c');
}
public function addField(string $name, string $value): self public function addField(string $name, string $value): self
{ {
$this->fields[] = [ $this->fields[] = [

View File

@@ -4,6 +4,7 @@ namespace App\Notifications\Internal;
use App\Notifications\Channels\DiscordChannel; use App\Notifications\Channels\DiscordChannel;
use App\Notifications\Channels\TelegramChannel; use App\Notifications\Channels\TelegramChannel;
use App\Notifications\Dto\DiscordMessage;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Notification; use Illuminate\Notifications\Notification;
@@ -32,9 +33,13 @@ class GeneralNotification extends Notification implements ShouldQueue
return $channels; return $channels;
} }
public function toDiscord(): string public function toDiscord(): DiscordMessage
{ {
return $this->message; return new DiscordMessage(
title: 'Coolify: General Notification',
description: $this->message,
color: DiscordMessage::infoColor(),
);
} }
public function toTelegram(): array public function toTelegram(): array

View File

@@ -3,6 +3,7 @@
namespace App\Notifications\ScheduledTask; namespace App\Notifications\ScheduledTask;
use App\Models\ScheduledTask; use App\Models\ScheduledTask;
use App\Notifications\Dto\DiscordMessage;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Messages\MailMessage;
@@ -46,9 +47,17 @@ class TaskFailed extends Notification implements ShouldQueue
return $mail; return $mail;
} }
public function toDiscord(): string public function toDiscord(): DiscordMessage
{ {
return "Coolify: Scheduled task ({$this->task->name}, [link]({$this->url})) failed with output: {$this->output}"; $message = new DiscordMessage(
title: "Coolify: Scheduled task ({$this->task->name}) failed.",
description: "Output: {$this->output}",
color: DiscordMessage::errorColor(),
);
$message->addField('Link', '[Open task in Coolify]('.$this->url.')');
return $message;
} }
public function toTelegram(): array public function toTelegram(): array