Instrucciones


Generales
forget()
setExpectation(nombreExpectativa,duración)
killExpectation(nombreExpectativa)
memorySort()

Específicas
sayHello()
checkRecipe
hideFromLast
sortLast

Variables
variableStore(nombreVariable)
variableAddTo(nombreVariable,valor)
variableTransfer(nombreVariable1,nombreVariable2)

showEvents
showEventsLayered
extractDate

Memoria reciente

Obtener recuerdos
recentMemoryGetByText(texto)
recentMemoryGetByItem(tipoElemento)
recentMemorySelectRandom()
recentMemorySelectLast()

Filtrar recuerdos
recentMemoryFilterByText(texto)
recentMemoryFilterByItem(tipoElemento)
recentMemoryFilterByTextNot(texto)
recentMemoryFilterByDate(fecha1,fecha2)
recentMemoryFilterByExistingAttribute(nombreAtributo)
recentMemoryFilterByNotExistingAttribute(nombreAtributo)
recentMemoryFilterByAttributeValue(nombreAtributo,valorAtributo)
recentMemorySetView(vista[, parámetro1, parámetro2, etc.])
recentMemoryShow()
recentMemoryExpand

Crear y modificar recuerdos
recentMemoryCreate(tipoElemento)
recentMemorySetAttribute(tipoAtributo,valorAtributo)
recentMemoryReplace(textoOrigen,textoDestino)
recentMemoryDelete()
recentMemoryAppendAttribute(tipoAtributo,valorAtributo)
recentMemoryChangeDate(tipoAtributo,númeroDías)
recentMemorySetInferredAttributeByFrequency(tipoAtributo,texto)
recentMemorySetInferredAttributeByLast(tipoAtributo,texto)

recentMemoryAddSubitems(tipoSubelemento,tipoAtributo,valorAtributo)
recentMemorySortSubitems(tipoSubelemento)
recentMemoryDeleteSubitemsByText(texto)

Mensajes
reserve()
sleep(tiempo)
messageSet(entrada)
messageSetById(identificador)
messageAppend(entrada)
messageCorpusDialog()
messageCorpusData(termino,palabra1-puntuación1,palabra2-puntuación2,...)

Control de excepciones
throwException(entrada)
throwExceptionById(identificador)
throwExceptionIfRecentMemoryEmpty(entrada)
throwExceptionIfDuplicateItemAttributeFound(tipoElemento,nombreAtributo,valorAtributo,entrada)
throwExceptionIfEmptyVariable(nombreVariable,entrada)
throwExceptionIfVariableDoesNotContain(nombreVariable,valorVariable,entrada)

Salida
setOptions(opción1;opción2;opción3...)
setImage(nombreArchivoImagen)

Depuración
debug.printRecentMemory()


Generales

forget()

Por defecto, se guarda todo el texto introducido por el usuario como un recuerdo con un tipo de elemento «unstructured» con un único atributo «data» cuyo valor es el texto que ha introducido el usuario. Si se utiliza la función «forget», no se guardará de ninguna manera el texto que ha introducido el usuario. Este comando suele utilizarse cuando las funciones han realizado las operaciones necesarias para guardar la información del usuario de una manera más organizada.
Volver arriba
setExpectation(nombreExpectativa,duración)
Crea una expectativa con el nombre «nombreExpectativa» y la duración «duración». Consulta el tutorial 2, para ver un ejemplo de cómo se utilizan las expectativas.
Volver arriba
killExpectation(nombreExpectativa)
Elimina la expectativa de nombre «nombreExpectativa» independientemente del número de turnos de conversación que quedaran pendientes. La eliminación se realiza tanto en las expectativas definidas en turnos anteriores como en las expectativas definidas en el turno en curso. Si no se encuentra la expectativa no ocurre nada, aunque es posible ver una advertencia en la consola.
Volver arriba

Específicas

sayHello()
Esta función se encarga de presentar el saludo inicial. Realiza sucesivamente las siguientes funciones:
  • Presenta un saludo en función de la hora del día: xhelloLate, xhelloEarly, xhelloMorning, xhelloEvening, xhelloNight.
  • Muestra las fechas especiales próximas y los fechas especiales que han transcurrido y no se han confirmado.
  • Decide la actividad que está realizando Martín y la guarda en la variable $actividadActual$.
Volver arriba

Variables

variableStore(nombreVariable)
Guarda en la memoria a largo plazo la valor de nombre «nombreVariable» junto con su valor. Todas las variables que no se hayan guardado en la memoria a largo plazo se eliminarán al cerrar la sesión de conversación.
Volver arriba

Memoria reciente

recentMemoryGetByText(texto)
Busca todos los elementos de la memoria a largo plazo en los que aparece el texto «texto» y los coloca en la memoria reciente.
Volver arriba
recentMemoryGetByItem(tipoElemento)
Busca todos los elementos de la memoria a largo plazo del tipo «tipoElemento» y los coloca en la memoria reciente.
Volver arriba
recentMemorySelectRandom()
Elige al azar uno de los recuerdos de la memoria reciente y borrar los demás de la memoria reciente.
Volver arriba
recentMemorySelectLast()
Elige el recuerdo de la memoria reciente que tenga la fecha del atributo timeStamp más reciente.
Volver arriba
recentMemoryFilterByText(texto)
Elimina de la memoria reciente todos los elementos que no contengan el texto «texto».
Volver arriba
recentMemoryFilterByItem(tipoElemento)
Elimina de la memoria reciente todos los elementos cuyo tipo de elemento no sea «tipoElemento».
Volver arriba
recentMemoryFilterByTextNot(texto)
Elimina de la memoria reciente todos los elementos que contengan el texto «texto».
Volver arriba
recentMemoryFilterByDate(fecha1,fecha2)
Elimina de la memoria reciente todos los elementos cuyo atributo «timeStamp» no contenga una fecha comprendida entre «fecha1» y «fecha2», ambas inclusive.
Volver arriba
recentMemoryFilterByExistingAttribute(nombreAtributo)
Elimina de la memoria reciente todos los elementos cuyo en los que no se haya definido o esté vacío el atributo de nombre «nombreAtributo».
Volver arriba
recentMemoryFilterByNotExistingAttribute(nombreAtributo)
Elimina de la memoria reciente todos los elementos cuyo en los que se haya definido o esté vacío el atributo de nombre «nombreAtributo».
Volver arriba
recentMemoryFilterByAttributeValue(nombreAtributo,valorAtributo)
Elimina de la memoria reciente todos los elementos que no contengan un atributo de nombre «nombreAtributo» o cuyo valor no coincida con «valorAtributo».
Volver arriba
recentMemorySetView(vista[, parámetro1, parámetro2, etc.])
Define el tipo de presentación que se utilizará para mostrar la memoria reciente. Los valores disponibles son:
  • 0: muestra los datos como texto.
  • 1: muestra los datos en forma de gráfico circular. El parámetro2 indica el atributo cuyos valores se desea representar y parámetro1 el atributo que se empleará para ponderar estos valores. Si se indica 1 como parámetro1, se le dará a cada elemento un valor igual a 1. Por ejemplo, recentMemorySetView(1,amount,item) representa los valores del atributo item, ponderándolos según el valor del atributo amount. recentMemorySetView(1,1,genre) representa los valores del atributo genre asignando una ponderación de 1 a cada elemento examinado.
  • 2: muestra los datos en forma de gráfico de barras. El parámetro1 indica el atributo cuyos valores se desea representar. Si se indica 1 como parámetro1, se le dará a cada elemento un valor igual a 1. El parámetro2 indica el intervalo de tiempo que se mostrará. Se admiten los siguientes valores:
    • 7: intervalo semanal
    • 31: intervalo mensual
    • 365: intervalo anual
    El parámetro3 indica si se realizará algún procesamiento adicional. Se admiten los siguientes valores:
    • 1: se restringen para cada mes los datos solo hasta el día del mes actual
    • 2: se calcula para cada mes el valor medio hasta el día actual
    El parámetro4 indica si se ordenan los valores por cantidad. Si es 0 no se ordenan y si es 1 sí.
  • 3: muestra los datos en forma de calendario.
  • 4: muestra los datos en forma de gráfico circular. Es preciso especificar como parámetro1 la magnitud que se desea comparar. Si se indica el valor count se asignará a cada recuerdo el valor 1. Solo se admiten los valores purchase y count. El parámetro2 debe indicar la lista en texto natural de elementos para los que se desea realizar la comparación. Por ejemplo, «libros, videojuegos y restaurantes».
También es posible activar ciertas opciones que cambian la presentación de los datos. Las opciones disponibles son:
  • sort: indica si se ordenan los datos o no. Si es 1 se ordenan los datos, si es 0 no.
  • interval: cambia el intervalo de presentación de los datos. Puede ser 7, 31 o 365, para un intervalo semanal, mensual o anual.
Por ejemplo, recentMemorySetView(interval,7) indica un intervalo de presentación semanal y para mostrar los datos ordenados, puedes emplear recentMemorySetView(sort,1).
Volver arriba
recentMemoryShow()
Muestra el contenido de la memoria reciente. Cada tipo de elemento de la memoria reciente tiene un tipo de presentación por defecto en forma de texto que se utiliza cuando se presentan varios tipos de elementos. No obstante, cuando todos los elementos de la memoria reciente son del mismo tipo (por ejemplo, son elementos «purchase»), es posible que allá definida una presentación que los agrupe. Por ejemplo, en el caso de que todos los elementos de la memoria reciente sean compras, se mostrarán en forma de tabla.
Volver arriba
recentMemoryCreate(tipoElemento)
Crea un nuevo elemento del tipo «tipoElemento» y lo añade a la memoria a largo plazo y también lo coloca en la memoria reciente. Por defecto, se añade un atributo del tipo «timeStamp», en el que se almacena la fecha y hora actuales. Consulta el tutorial 1, para ver un ejemplo de cómo crear un elemento en la memoria y añadirle un atributo.
Volver arriba
recentMemorySetAttribute(tipoAtributo,valorAtributo)
Añade un atributo a los elementos de la memoria reciente. Este atributo es del tipo «tipoAtributo» y tiene el valor «valorAtributo». Consulta el tutorial 1, para ver un ejemplo de cómo crear un elemento en la memoria y añadirle un atributo.
Volver arriba
recentMemoryReplace(textoOrigen,textoDestino)
Cambia todas las apariciones del texto «textoOrigen» por «textoDestino». Esta operación se realiza tanto en los atributos como en la definición xml del recuerdo, por lo que debe tenerse cuidado de no que el recuerdo no quede inutilizable por la sustitución.
Volver arriba
recentMemoryAppendAttribute(tipoAtributo,valorAtributo)
Toma el valor del atributo «tipoAtributo» y y le adjunta el valor «valorAtributo». Por ejemplo, si el valor del atributo es «Daiquiri» y se le adjunta el valor «Mojito», el atributo recibirá el valor «Daiquiri;Mojito». Como separador de valores se utiliza el punto y coma (;).
Volver arriba
recentMemoryChangeDate(tipoAtributo,númeroDías)
Cambia el valor del atributo «tipoAtributo», sumándole o restándole el número de días indicado por «númeroDías. Si el atributo «tipoAtributo» no contiene una fecha, no se realizará ninguna acción. También se puede utilizar el siguiente formato:
recentMemoryChangeDate(tipoAtributo, unidades, desplazamiento)
Con esta sintaxis, es posible especificar las unidades de tiempo en las que se especifica el cambio de fecha. Por ejemplo, recentMemoryChangeDate(date,minutes,3) aumenta en 3 minutos la fecha indicada por el atributo date de la memoria reciente y recentMemoryChangeDate(date,seconds,3) aumenta en 3 segundos la fecha de este mismo atributo.
Volver arriba
recentMemorySetInferredAttributeByFrequency(tipoAtributo,texto)
Añade un atributo a los elementos de la memoria reciente. Este atributo es del tipo «tipoAtributo» y su valor se obtiene buscando en la memoria a largo plazo aquellos elementos del mismo tipo en los que aparezca el texto «texto». El valor más frecuente será el que se utilizará.
Volver arriba
recentMemorySetInferredAttributeByLast(tipoAtributo,texto)
Añade un atributo a los elementos de la memoria reciente. Este atributo es del tipo «tipoAtributo» y su valor se obtiene buscando en la memoria a largo plazo aquellos elementos del mismo tipo en los que aparezca el texto «texto». El último valor que se encuentre será el que se utilizará.
Volver arriba
recentMemoryDelete()
Borra los elementos que contenga la memoria reciente. Esta función no solicita confirmación al usuario, independientemente del número de elementos borrados, por lo que como medida de seguridad se recomienda redactar reglas que gestionen la confirmación. Como medida de seguridad, se guardan todos los elementos borrados en el archivo «olvido.txt».
Volver arriba
recentMemoryAddSubitems(tipoSubelemento,tipoAtributo,valorAtributo)
Agrega al primer elemento de la memoria reciente un subelemento del tipo «tipoSubelemento», con un atributo de tipo «tipoAtributo» cuyo valor es «valorAtributo».
Volver arriba
recentMemorySortSubitems(tipoSubelemento)
Ordena los subelementos del tipo «tipoSubelemento» del primer elemento de la memoria reciente.
Volver arriba
recentMemoryDeleteSubitemsByText(texto)
Borra todos los subelementos del primer elemento de la memoria reciente que contengan el texto «texto».
Volver arriba

Mensajes

reserve([startTime][, endTime])
Guarda la salida actual para mostrarla la próxima vez que el bot no encuentre ninguna otra salida y tenga que recurrir a los gambitos o a la salida xnone. Si no se indica ningún parámetro la regla se conservará indefinidamente y se mostrará no se cumpla ninguna otra regla. Si se desea que transcurra un tiempo entre el momento en que se crea la regla y el momento en que se muestra, se puede indicar con el parámetro startTime, que indica el intervalo que transcurrirá entre el momento actual y el primer momento en que se puede mostrar. De la misma manera, con endTime se puede indicar el último momento posible. Por ejemplo reserve(30 minutes, 2 hours) hará que la salida pueda mostrarse a partir de los 30 minutos de que se cree, pero no más de después de 2 horas de que se cree. Las unidades de tiempo disponibles son seconds, minutes, hours y days.
Volver arriba
sleep(tiempo)
Guarda la salida actual en la memoria de manera que el bot no la repita durante el plazo especificado por tiempo en días. Por ejemplo, la instrucción sleep(3) hace que la salida no se muestre durante tres días. Si se utiliza el valor 0, la salida no se volverá a repetir mientras el recuerdo creado permanezca en la memoria.
Volver arriba
messageSet(entrada)
Cambia el mensaje que se mostrará al usuario por el que corresponde a la entrada indicada. Además, se procesarán todas las condiciones y funciones de dicha entrada.
Volver arriba
messageSetById(identificador)
Cambia el mensaje que se mostrará al usuario por el que corresponde al identificador indicado. Además, se procesarán todas las condiciones y funciones de dicha entrada.
Volver arriba
messageAppend(entrada)
Añade al mensaje que se mostrará al usuario el correspondiente a la entrada indicada. Además, se procesarán todas las condiciones y funciones de dicha entrada.
Volver arriba
messageCorpusDialog()
Cambia el mensaje que se mostrará al usuario por el que se obtiene analizando el corpus de diálogos indicado en la configuración.
Volver arriba
messageCorpusData(termino,palabra1-puntuación1,palabra2-puntuación2,...)
Cambia el mensaje que se mostrará al usuario por el que se obtiene analizando el corpus de datos indicado en la configuración. Para ello se utiliza busca en dicho corpus el termino, asignándole diversas puntuaciones dependiendo de la palabra siguiente. Si dicha palabra es la palabra1, se le asignará la puntuación1, si es la palabra2, se le asignará la puntuación2, etc. Si no se encuentra ninguna de estas palabras, se le asignará la puntuación 0.
Una vez finalizado el análisis, se elegirá al azar una de las opciones encontradas de entre las que tengan la máxima puntuación. Por ejemplo, si se encuentran 3 opciones con la puntuación 2 y 6 opciones con la puntuación 1, se elegirá una de las opciones que tienen la puntuación 2.
Volver arriba

Control de excepciones

throwException(entrada)
Lanza una excepción y muestra el mensaje correspondiente a la entrada indicada.
Volver arriba
throwExceptionById(identificador)
Lanza una excepción y muestra el mensaje correspondiente al identificador indicado.
Volver arriba
throwExceptionIfRecentMemoryEmpty(entrada)
Lanza una excepción si la memoria reciente no contiene ningún elemento y muestra el mensaje correspondiente a la entrada «entrada».
Volver arriba
throwExceptionIfDuplicateItemAttributeFound(tipoElemento,nombreAtributo,valorAtributo,entrada)
Lanza una excepción si la memoria a largo plazo contiene un elemento de tipo «tipoElemento», que contiene un atributo de nombre «nombreAtributo» que tiene el valor «valorAtributo». También muestra el mensaje correspondiente a la entrada «entrada».
Volver arriba
throwExceptionIfEmptyVariable(nombreVariable,entrada)
Lanza una excepción si la variable de nombre «nombreVariable» no existe o no contiene ningún valor de longitud superior a cero. También se muestra el mensaje correspondiente a la entrada «entrada».
Volver arriba
throwExceptionIfVariableDoesNotContain(nombreVariable,valorVariable,entrada)
Lanza una excepción si la variable de nombre «nombreVariable» no contiene el valor «valorVariable». También se muestra el mensaje correspondiente a la entrada «entrada».
Volver arriba

Salida

setOptions(opción1;opción2;opción3...)
Muestra las opciones que se hayan indicado en forma de botones, de manera que el usuario pueda seleccionarlos sin tener que escribir nada. A pesar estos botones, el usuario puede escribir lo que desea si ninguna de estas opciones se adapta a lo que quiere.
Volver arriba
setImage(nombreArchivoImagen)
Muestra al usuario el gráfico cuyo nombre de archivo es nombreArchivoImagen. Este archivo debe encontrarse en la carpeta images del directorio donde se encuentra el ejecutable.
Volver arriba

Depuración

debug.printRecentMemory()
Muestra el contenido de la memoria reciente.
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