Added telegram notifications

This commit is contained in:
Henry Whitaker
2020-08-21 23:14:41 +01:00
parent 6e712cbbdc
commit 30657a07e8
3 changed files with 156 additions and 15 deletions

View File

@@ -0,0 +1,58 @@
<?php
namespace App\Notifications;
use App\Helpers\NotificationsHelper;
use App\Helpers\SettingsHelper;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use NotificationChannels\Telegram\TelegramChannel;
use NotificationChannels\Telegram\TelegramMessage;
class SpeedtestAbsoluteThresholdTelegram extends Notification
{
use Queueable;
private $errors;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct($errors)
{
$this->errors = $errors;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return [
TelegramChannel::class
];
}
/**
* Format telegram notification
*
* @param mixed $notifiable
* @return TelegramMessage
*/
public function toTelegram($notifiable)
{
$msg = NotificationsHelper::formatAbsoluteThresholdMessage($this->errors);
return TelegramMessage::create()
->to(SettingsHelper::get('telegram_chat_id')->value)
->content($msg)
->options(['parse_mode' => 'Markdown']);
}
}