diff --git a/services/BotService.php b/services/BotService.php index 17e9516..7b9b0e9 100644 --- a/services/BotService.php +++ b/services/BotService.php @@ -602,11 +602,11 @@ class BotService { iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $messageText) ?: $messageText )); - // Detectar aceptación: "acepto", "si acepto", "sí, acepto", "1", etc. - $accepted = (bool) preg_match('/\b(acepto|si acepto|si|sí|1|ok|aceptar|de acuerdo|confirmo)\b/', $normalized); + // Detectar rechazo PRIMERO para evitar que "no acepto" haga match en el regex de aceptación + $rejected = (bool) preg_match('/\b(no acepto|no|rechazo|rechazar|negar|0|rechaz[oa])\b/', $normalized); - // Detectar rechazo explícito: "no acepto", "rechazo", "no", "0", etc. - $rejected = !$accepted && (bool) preg_match('/\b(no acepto|no|rechazo|rechazar|negar|0|rechaz[oa])\b/', $normalized); + // Detectar aceptación solo si no hubo rechazo: "acepto", "si acepto", "sí", "1", etc. + $accepted = !$rejected && (bool) preg_match('/\b(acepto|si acepto|si|sí|1|ok|aceptar|de acuerdo|confirmo)\b/', $normalized); if (!$accepted && !$rejected) { // Respuesta no reconocida → volver a preguntar