IDialogWaterfallStep interface
Firma para funciones pasadas como pasos para DialogAction.waterfall().
Las cascadas le permiten solicitar a un usuario información mediante una secuencia de preguntas. Cada paso de la cascada puede ejecutar una de las integradas, iniciar un nuevo cuadro de diálogo llamando a session.beginDialog(), avanzar al siguiente paso de la cascada manualmente mediante skip()o finalizar la cascada.
Cuando se llama a un cuadro de diálogo o un símbolo del sistema integrado desde un paso en cascada, los resultados de ese diálogo o mensaje se pasarán a través del parámetro results al siguiente paso de la cascada.
Los usuarios pueden decir cosas como "nunca mente" para cancelar los mensajes integrados, por lo que debe protegerse de eso al menos comprobando results.response antes de continuar. Se puede determinar una explicación más detallada de por qué se continúa la cascada examinando el código de devuelto para los resultados de .reanudado.
Puede avanzar manualmente al siguiente paso de la cascada mediante la función skip() pasada. Llamar a
Puede finalizar una cascada temprano pasando por cada paso de la cascada mediante llamadas a skip() o simplemente no iniciando otro mensaje o cuadro de diálogo.
nota: Cascadas tienen un último paso oculto que finalizará automáticamente el cuadro de diálogo actual si llama a un mensaje o diálogo desde el último paso. Esto es útil en el que tiene una pila profunda de diálogos y desea que una llamada a session.endDialog() del último elemento secundario de la pila para finalizar toda la pila. El cierre del último elemento secundario desencadenará que todos sus elementos primarios se muevan a este paso oculto, lo que pondrá en cascada el cierre hasta arriba de la pila. Suele ser un comportamiento deseado, pero si quiere evitarlo o detenerlo en algún lugar del centro, deberá agregar un paso al final de la cascada que no haga nada o llame a algo como session.send() que no va a avanzar hacia delante de la cascada.