toTelegram($notifiable); $telegramData = $notifiable->routeNotificationForTelegram(); $message = data_get($data, 'message'); $buttons = data_get($data, 'buttons', []); $telegramToken = data_get($telegramData, 'token'); $chatId = data_get($telegramData, 'chat_id'); $topicId = null; $topicsInstance = get_class($notification); switch ($topicsInstance) { case 'App\Notifications\Test': $topicId = data_get($notifiable, 'telegram_notifications_test_message_thread_id'); break; case 'App\Notifications\Application\StatusChanged': $topicId = data_get($notifiable, 'telegram_notifications_status_changes_message_thread_id'); break; case 'App\Notifications\Application\DeploymentSuccess': case 'App\Notifications\Application\DeploymentFailed': $topicId = data_get($notifiable, 'telegram_notifications_deployments_message_thread_id'); break; case 'App\Notifications\Database\BackupSuccess': case 'App\Notifications\Database\BackupFailed': $topicId = data_get($notifiable, 'telegram_notifications_database_backups_message_thread_id'); break; case 'App\Notifications\ScheduledTask\TaskFailed': $topicId = data_get($notifiable, 'telegram_notifications_scheduled_tasks_thread_id'); break; } if (!$telegramToken || !$chatId || !$message) { return; } dispatch(new SendMessageToTelegramJob($message, $buttons, $telegramToken, $chatId, $topicId)); } }