Variables

Tal como vimos en la sección sobre las entradas, gracias a los comodines el bot puede reutilizar en sus respuestas parte del texto introducido por el usuario. Si a uno de estos comodines le asignamos un nombre mediante el atributo name podremos reutilizar estos datos en otros momentos de la conversación, lo que mejora la sensación de interactividad. Por ejemplo, veamos las siguientes reglas.

EntradaSalida
quiero ir a <wildcard name="$lugar$" />¿Qué quieres hacer en $lugar$?
<wildcard />¿Y qué más quieres hacer en $lugar$?
Según estas reglas si el usuario dice Quiero ir a Granada., el bot le responderá ¿Qué quieres hacer en Granada? y, a continuación, independientemente de lo que diga el usuario, el bot le responderá ¿Y qué más quieres hacer en Granada?.

Los comodines no son la única manera de definir una variable. También podemos definir una variable en un script, sencillamente indicando el nombre de la variable y el valor que deseamos que tenga. Por ejemplo, el siguiente fragmento de script asigna a la variable $color$, el valor amarillo.

$color$=amarillo;

A partir de ese momento, en cualquier momento en el que hagamos referencia a la variable $color$, se sustituirá por el texto amarillo.

A la hora de trabajar con variables, es imprescindible tener en cuenta que si en una salida se hace referencia a una variable que no se ha definido o su valor es nulo, se considerará que la salida no es válida y se buscará otra. Siguiendo el ejemplo anterior, si en la salida de una regla hacemos referencia a la variable $color$, pero aún no la hemos definido, se buscará otra salida. Aún así, si dicha salida incluye algún script, dicho script se ejecutará, a pesar de que el texto que finalmente se muestre al usuario no sea el que correspondía a dicha salida.

Las variables solo duran durante una conversación, a no ser que indiquemos específicamente que el valor de la variable debe guardarse en la memoria del bot mediante la instrucción variableStore(nombreVariable). Por ejemplo, si queremos guardar la edad del usuario para utilizarlo en conversaciones futuras, deberemos ejecutar la instrucción variableStore($edadUsuario$), después de que hayamos almacenado en $edadUsuario$ la edad del usuario.

Variables especiales

Las siguientes variables tienen un significado especial para el bot:

  • $currentDate$: contiene la fecha y hora actuales.
  • $userName$: contiene el nombre del usuario.


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