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': case 'App\Notifications\Container\ContainerRestarted': case 'App\Notifications\Container\ContainerStopped': $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)); } }