[ 'required', ], 'chat_id' => [ 'required', ], ]; } public function createData(array $input): array { return [ 'bot_token' => $input['bot_token'], 'chat_id' => $input['chat_id'], ]; } public function data(): array { return [ 'bot_token' => $this->notificationChannel->data['bot_token'] ?? '', 'chat_id' => $this->notificationChannel->data['chat_id'] ?? '', ]; } public function connect(): bool { try { $this->sendToTelegram(__('Connected!')); } catch (Throwable) { return false; } return true; } public function send(object $notifiable, NotificationInterface $notification): void { /** @var NotificationChannel $notifiable */ $this->notificationChannel = $notifiable; $this->sendToTelegram($notification->toTelegram($notifiable)); } private function sendToTelegram(string $text): void { Http::post($this->apiUrl.$this->data()['bot_token'].'/sendMessage', [ 'chat_id' => $this->data()['chat_id'], 'text' => $text, 'parse_mode' => 'markdown', 'disable_web_page_preview' => true, ])->throw(); } }