Condiciones


Con frecuencia es necesario que una regla solo se active cuando se cumple determinada condición. Por ejemplo, es preferible no preguntarle al usuario su nombre si ya nos lo ha indicado antes o, tal vez nos interese adaptar una respuesta del bot en función de la edad del usuario. Una manera fácil de conseguirlo es mediante el atributo condition. El funcionamiento es muy sencillo: si la condición no se cumple, la regla no se tendrá en cuenta. Veamos el siguiente ejemplo:

<rule>
     <input condition="variableNotDefined($userName$)">nombre</input>
     <output>¿Cómo te llamas?</output>
</rule>
Según esta regla si el usuario escribe algo que incluya la palabra nombre y el bot todavía no conoce su nombre (no está definida la variable $userName$), se lo preguntará.

    Todas las condiciones que se pueden aplicar mediante el atributo condition también se pueden imponer mediante script. No obstante, suele ser preferible utilizar el atributo condition para condiciones sencillas o si deseas evitar tener que programar scripts, que son más adecuados para crear condiciones complejas.

A continuación, puedes ver las condiciones disponibles:

variableDefined(variableName)
variableNotDefined(variableName)
isLower(variableName)
isGreater(variableName)
equals(variableName)
notEquals(variableName)


variableDefined(variableName)
Esta condición se cumple si se ha definido una variable con el nombre variableName. Por ejemplo, la siguiente condición se cumple solo si se ha definido la variable $userName$: variableDefined($userName$).
Volver arriba

variableNotDefined(variableName)
Esta condición se cumple si NO se ha definido ninguna variable con el nombre variableName. Por ejemplo, la siguiente condición se cumple solo si NO se ha definido la variable $userName$: variableNotDefined($userName$).
Volver arriba

isLower(variableName, variableValue)
Esta condición se cumple si el valor de la variable variableName es menor que el valor variableValue. Por ejemplo, la siguiente condición se cumple si el valor de la variable $userAge$ es inferior a 18: isLower($userAge$, 18).
Volver arriba

isGreater(variableName, variableValue)
Esta condición se cumple si el valor de la variable variableName es mayor que el valor variableValue. Por ejemplo, la siguiente condición se cumple si el valor de la variable $userAge$ es superior a 18: isGreater($userAge$, 18).
Volver arriba

equals(variableName, variableValue)
Esta condición se cumple si el valor de la variable variableName es igual que el valor variableValue. Por ejemplo, la siguiente condición se cumple si el valor de la variable $color$ es igual a azul: equals($color$, azul).
Volver arriba

notEquals(variableName, variableValue)
Esta condición se cumple si el valor de la variable variableName NO es igual que el valor variableValue. Por ejemplo, la siguiente condición se cumple si el valor de la variable $color$ NO es igual a azul: notEquals($color$, azul).
Volver arriba


Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-ley 13/2012.
Si continúa navegando consideramos que acepta el uso de cookies. Aceptar | Más información