telegram_token = ChatConfig::get('telegram_token', ''); $this->mensaje_bienvenida = ChatConfig::get('mensaje_bienvenida', 'Hola 👋 Bienvenido. Escribe tu consulta.'); $this->mensaje_transferencia = ChatConfig::get('mensaje_transferencia', 'Un agente se comunicará contigo en breve. Por favor espera.'); } public function guardar(): void { $this->validate([ 'mensaje_bienvenida' => 'required|string|max:500', 'mensaje_transferencia' => 'required|string|max:500', ]); ChatConfig::set('telegram_token', $this->telegram_token); ChatConfig::set('mensaje_bienvenida', $this->mensaje_bienvenida); ChatConfig::set('mensaje_transferencia', $this->mensaje_transferencia); $this->alert('success', 'Configuración guardada correctamente.'); } public function registrarWebhook(): void { $token = trim($this->telegram_token); if (! $token) { $this->webhookResult = '⚠️ El token de Telegram está vacío.'; return; } // Guardar el token antes de registrar ChatConfig::set('telegram_token', $token); $webhookUrl = url('/chat/webhook/telegram'); $apiUrl = "https://api.telegram.org/bot{$token}/setWebhook"; $context = stream_context_create([ 'http' => [ 'method' => 'POST', 'header' => "Content-Type: application/x-www-form-urlencoded\r\n", 'content' => http_build_query(['url' => $webhookUrl]), 'timeout' => 10, ], ]); $result = @file_get_contents($apiUrl, false, $context); if ($result === false) { $this->webhookResult = '❌ Error de conexión con la API de Telegram.'; return; } $data = json_decode($result, true); $this->webhookResult = ($data['ok'] ?? false) ? '✅ Webhook registrado correctamente: ' . ($data['description'] ?? 'OK') : '❌ Error: ' . ($data['description'] ?? 'respuesta desconocida'); } public function render() { return view('livewire.chat.show-configuracion-chat'); } }