Compartir a través de


WaterfallStepContext class

Objeto de contexto pasado a un WaterfallStep.

Extends

Constructores

WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)

Crea una nueva instancia de WaterfallStepContext.

Propiedades

activeDialog
child
dialogManager
index

Índice del paso de cascada actual que se está ejecutando.

options

Las opciones que se pasan al cuadro de diálogo de cascada de pasos cuando se inició con DialogContext.beginDialog().

reason

Motivo por el que se está ejecutando el paso de cascada.

result

Resultados devueltos por un cuadro de diálogo o mensaje al que se llamó en el paso de cascada anterior.

values

Diccionario de valores que se conservarán en todos los pasos de cascada.

Propiedades heredadas

context

Obtiene el objeto de contexto del turno.

dialogs

Obtiene los diálogos a los que se puede llamar directamente desde este contexto.

parent

Contexto de diálogo primario para este contexto de diálogo o undefined si este contexto no tiene un elemento primario.

services

Obtiene la colección de servicios que es contextual para este contexto de diálogo.

stack

Obtiene la pila de diálogos actual.

state

Obtiene el DialogStateManager que administra la vista de todos los ámbitos de memoria.

Métodos

next(any)

Salta al siguiente paso de cascada.

Métodos heredados

beginDialog(string, object)

Inicia una instancia de diálogo e la inserta en la pila de diálogos. Crea una nueva instancia del cuadro de diálogo y la inserta en la pila.

cancelAllDialogs(boolean, string, any)

Cancela todos los diálogos de la pila de diálogos y borra la pila.

continueDialog()

Continúa la ejecución del cuadro de diálogo activo, si hay uno, pasando este contexto de diálogo a su método Dialog.continueDialog.

emitEvent(string, any, boolean, boolean)

Busca un cuadro de diálogo con un identificador determinado.

endDialog(any)

Finaliza un cuadro de diálogo y lo quita de la pila. Devuelve un resultado opcional al elemento primario del cuadro de diálogo.

findDialog(string)

Busca un cuadro de diálogo con un identificador determinado.

getLocale()

Obtenga cultureInfo en DialogContext.

prompt(string, string | Partial<Activity> | PromptOptions)

Función auxiliar para simplificar el formato de las opciones para llamar a un cuadro de diálogo de aviso.

prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])

Función auxiliar para simplificar el formato de las opciones para llamar a un cuadro de diálogo de aviso.

replaceDialog(string, object)

Finaliza el cuadro de diálogo activo e inicia un diálogo nuevo en su lugar.

repromptDialog()

Solicita al cuadro de diálogo activo que vuelva a solicitar al usuario la entrada.

Detalles del constructor

WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)

Crea una nueva instancia de WaterfallStepContext.

new WaterfallStepContext(dc: DialogContext, info: WaterfallStepInfo<O>)

Parámetros

dc
DialogContext

Contexto del cuadro de diálogo para el turno actual de conversación.

info

WaterfallStepInfo<O>

Valores con los que inicializar el contexto del paso.

Detalles de las propiedades

activeDialog

DialogInstance | undefined activeDialog

Valor de propiedad

DialogInstance | undefined

Información de estado del cuadro de diálogo en la parte superior de la pila de diálogos o undefined si la pila está vacía.

child

DialogContext | undefined child

Valor de propiedad

DialogContext | undefined

Contexto de diálogo para elemento secundario si el diálogo activo es un contenedor.

dialogManager

Advertencia

Esta API ya está en desuso.

This property serves no function.

DialogManager dialogManager

Valor de propiedad

Instancia actual del administrador de diálogos. Esta propiedad está en desuso.

index

Índice del paso de cascada actual que se está ejecutando.

number index

Valor de propiedad

number

Índice del paso de cascada actual que se está ejecutando.

options

Las opciones que se pasan al cuadro de diálogo de cascada de pasos cuando se inició con DialogContext.beginDialog().

O options

Valor de propiedad

O

Se llamó a todas las opciones con las que se llamó al cuadro de diálogo en cascada.

reason

Motivo por el que se está ejecutando el paso de cascada.

DialogReason reason

Valor de propiedad

Motivo por el que se está ejecutando el paso de cascada.

result

Resultados devueltos por un cuadro de diálogo o mensaje al que se llamó en el paso de cascada anterior.

any result

Valor de propiedad

any

Resultado del paso de cascada anterior.

values

Diccionario de valores que se conservarán en todos los pasos de cascada.

object values

Valor de propiedad

object

Diccionario de valores que se conservarán en todos los pasos de cascada.

Detalles de las propiedades heredadas

context

Obtiene el objeto de contexto del turno.

context: TurnContext

Valor de propiedad

TurnContext

heredado dedialogContext.context

dialogs

Obtiene los diálogos a los que se puede llamar directamente desde este contexto.

dialogs: DialogSet

Valor de propiedad

heredado dedialogContext.dialogs

parent

Contexto de diálogo primario para este contexto de diálogo o undefined si este contexto no tiene un elemento primario.

parent: DialogContext | undefined

Valor de propiedad

DialogContext | undefined

Comentarios

Cuando intenta iniciar un diálogo, el contexto del diálogo busca el Dialog.id en sus cuadros de diálogo de . Si el cuadro de diálogo que se va a iniciar no se encuentra en este contexto de diálogo, busca en su contexto de diálogo primario, etc.

heredado dedialogContext.parent

services

Obtiene la colección de servicios que es contextual para este contexto de diálogo.

services: TurnContextStateCollection

Valor de propiedad

TurnContextStateCollection

heredado dedialogContext.services

stack

Obtiene la pila de diálogos actual.

stack: DialogInstance[]

Valor de propiedad

heredado dedialogContext.stack

state

Obtiene el DialogStateManager que administra la vista de todos los ámbitos de memoria.

state: DialogStateManager

Valor de propiedad

heredado dedialogContext.state

Detalles del método

next(any)

Salta al siguiente paso de cascada.

function next(result?: any): Promise<DialogTurnResult>

Parámetros

result

any

(Opcional) resultado para pasar al paso siguiente.

Devoluciones

Promise<DialogTurnResult>

Promesa con DialogTurnResult.

Comentarios

return await step.skip();

Detalles de los métodos heredados

beginDialog(string, object)

Inicia una instancia de diálogo e la inserta en la pila de diálogos. Crea una nueva instancia del cuadro de diálogo y la inserta en la pila.

function beginDialog(dialogId: string, options?: object): Promise<DialogTurnResult>

Parámetros

dialogId

string

Identificador del cuadro de diálogo que se va a iniciar.

options

object

Opcional. Argumentos para pasar al cuadro de diálogo cuando se inicia.

Devoluciones

Promise<DialogTurnResult>

una promesa que resuelve el resultado del turno del cuadro de diálogo.

Comentarios

Si ya hay un diálogo activo en la pila, ese diálogo se pausará hasta que vuelva a ser el diálogo superior de la pila.

El estado del objeto devuelto describe el estado de la pila de diálogos una vez completado este método.

Este método produce una excepción si el cuadro de diálogo solicitado no se encuentra en este contexto de diálogo o en ninguno de sus antecesores.

Por ejemplo:

const result = await dc.beginDialog('greeting', { name: user.name });

Consulte también

heredado dedialogContext.beginDialog

cancelAllDialogs(boolean, string, any)

Cancela todos los diálogos de la pila de diálogos y borra la pila.

function cancelAllDialogs(cancelParents?: boolean, eventName?: string, eventValue?: any): Promise<DialogTurnResult>

Parámetros

cancelParents

boolean

Opcional. Si true todos los diálogos primarios también se cancelarán.

eventName

string

Opcional. Nombre de un evento personalizado que se va a generar a medida que se cancelan los diálogos. Este valor predeterminado es cancelDialog.

eventValue

any

Opcional. Valor que se va a pasar junto con el evento de cancelación personalizado.

Devoluciones

Promise<DialogTurnResult>

una promesa que resuelve el resultado del turno del cuadro de diálogo.

Comentarios

Esto llama al método Dialog.endDialog de cada diálogo antes de quitar el cuadro de diálogo de la pila.

Si hay diálogos en la pila inicialmente, el estado del valor devuelto es cancelada; de lo contrario, se vacío.

En este ejemplo se borra una pila de diálogos, dc, antes de iniciar un cuadro de diálogo "bookFlight".

await dc.cancelAllDialogs();
return await dc.beginDialog('bookFlight');

Consulte también

heredado dedialogContext.cancelAllDialogs

continueDialog()

Continúa la ejecución del cuadro de diálogo activo, si hay uno, pasando este contexto de diálogo a su método Dialog.continueDialog.

function continueDialog(): Promise<DialogTurnResult>

Devoluciones

Promise<DialogTurnResult>

una promesa que resuelve el resultado del turno del cuadro de diálogo.

Comentarios

Una vez completada la llamada, puede comprobar el del contexto de turnos respondió propiedad para determinar si el cuadro de diálogo envió una respuesta al usuario.

El estado del objeto devuelto describe el estado de la pila de diálogos una vez completado este método.

Normalmente, llamaría a esto desde el controlador de turnos del bot.

Por ejemplo:

const result = await dc.continueDialog();
if (result.status == DialogTurnStatus.empty && dc.context.activity.type == ActivityTypes.message) {
    // Send fallback message
    await dc.context.sendActivity(`I'm sorry. I didn't understand.`);
}

heredado dedialogContext.continueDialog

emitEvent(string, any, boolean, boolean)

Busca un cuadro de diálogo con un identificador determinado.

function emitEvent(name: string, value?: any, bubble?: boolean, fromLeaf?: boolean): Promise<boolean>

Parámetros

name

string

Nombre del evento que se va a generar.

value

any

Opcional. Valor que se va a enviar junto con el evento .

bubble

boolean

Opcional. Marca para controlar si el evento debe propagarse a su elemento primario si no se controla localmente. El valor predeterminado es true.

fromLeaf

boolean

Opcional. Indica si el evento se emite desde un nodo hoja.

Devoluciones

Promise<boolean>

true si se controló el evento.

Comentarios

Emite un evento con nombre para el cuadro de diálogo actual, o alguien que lo inició, para controlarlo.

heredado dedialogContext.emitEvent

endDialog(any)

Finaliza un cuadro de diálogo y lo quita de la pila. Devuelve un resultado opcional al elemento primario del cuadro de diálogo.

function endDialog(result?: any): Promise<DialogTurnResult>

Parámetros

result

any

Opcional. Resultado que se va a pasar a la lógica primaria. Puede ser el siguiente cuadro de diálogo de la pila, o si se trata del último diálogo de la pila, un contexto de diálogo primario o el controlador de turnos del bot.

Devoluciones

Promise<DialogTurnResult>

una promesa que resuelve el resultado del turno del cuadro de diálogo.

Comentarios

El cuadro de diálogo primario es el siguiente diálogo de la pila de diálogos, si hay uno. Este método llama al método Dialog.resumeDialog del elemento primario y pasa el resultado devuelto por el cuadro de diálogo final. Si no hay ningún cuadro de diálogo primario, el turno finaliza y el resultado está disponible para el bot a través de la propiedad resultado del objeto devuelto.

El estado del objeto devuelto describe el estado de la pila de diálogos una vez completado este método.

Normalmente, llamaría a esto desde dentro de la lógica de un diálogo específico para volver a indicar al contexto de diálogo que el diálogo ha completado, el diálogo debe quitarse de la pila y el diálogo primario debe reanudarse.

Por ejemplo:

return await dc.endDialog(returnValue);

Consulte también

heredado dedialogContext.endDialog

findDialog(string)

Busca un cuadro de diálogo con un identificador determinado.

function findDialog(dialogId: string): Dialog | undefined

Parámetros

dialogId

string

Identificador del cuadro de diálogo que se va a buscar.

Devoluciones

Dialog | undefined

Cuadro de diálogo para el identificador proporcionado.

Comentarios

Si el cuadro de diálogo que se va a iniciar no se encuentra en el DialogSet asociado a este contexto de diálogo, intenta encontrar el cuadro de diálogo en su contexto de diálogo primario.

Consulte también

  • cuadros de diálogo de
  • primario

heredado dedialogContext.findDialog

getLocale()

Obtenga cultureInfo en DialogContext.

function getLocale(): string

Devoluciones

string

una cadena de configuración regional.

Heredado deDialogContext.getLocale

prompt(string, string | Partial<Activity> | PromptOptions)

Función auxiliar para simplificar el formato de las opciones para llamar a un cuadro de diálogo de aviso.

function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions): Promise<DialogTurnResult>

Parámetros

dialogId

string

Id. del cuadro de diálogo del símbolo del sistema que se va a iniciar.

promptOrOptions

string | Partial<Activity> | PromptOptions

Texto de la solicitud inicial para enviar al usuario, la actividad que se va a enviar como símbolo del sistema inicial o el objeto con el que se va a dar formato al cuadro de diálogo de solicitud.

Devoluciones

Promise<DialogTurnResult>

Comentarios

Este método auxiliar da formato al objeto que se va a usar como parámetro options y, a continuación, llama a beginDialog para iniciar el cuadro de diálogo de solicitud especificado.

return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);

heredado dedialogContext.prompt

prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])

Función auxiliar para simplificar el formato de las opciones para llamar a un cuadro de diálogo de aviso.

function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions, choices: string | Choice[]): Promise<DialogTurnResult>

Parámetros

dialogId

string

Id. del cuadro de diálogo del símbolo del sistema que se va a iniciar.

promptOrOptions

string | Partial<Activity> | PromptOptions

Texto de la solicitud inicial para enviar al usuario, el Actividad enviar como solicitud inicial o el objeto con el que dar formato al cuadro de diálogo de solicitud.

choices

string | Choice[]

Opcional. Matriz de opciones entre las que elegir el usuario, para usarla con un ChoicePrompt.

Devoluciones

Promise<DialogTurnResult>

Comentarios

Este método auxiliar da formato al objeto que se va a usar como parámetro options y, a continuación, llama a beginDialog para iniciar el cuadro de diálogo de solicitud especificado.

return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);

heredado dedialogContext.prompt

replaceDialog(string, object)

Finaliza el cuadro de diálogo activo e inicia un diálogo nuevo en su lugar.

function replaceDialog(dialogId: string, options?: object): Promise<DialogTurnResult>

Parámetros

dialogId

string

Identificador del cuadro de diálogo que se va a iniciar.

options

object

Opcional. Argumentos para pasar al nuevo cuadro de diálogo cuando se inicia.

Devoluciones

Promise<DialogTurnResult>

una promesa que resuelve el resultado del turno del cuadro de diálogo.

Comentarios

Esto es especialmente útil para crear un bucle o redirigir a otro cuadro de diálogo.

El estado del objeto devuelto describe el estado de la pila de diálogos una vez completado este método.

Este método es similar a finalizar el cuadro de diálogo actual e iniciar inmediatamente el nuevo. Sin embargo, el cuadro de diálogo primario no se reanuda ni se notifica de otro modo.

Consulte también

Heredado deDialogContext.replaceDialog

repromptDialog()

Solicita al cuadro de diálogo activo que vuelva a solicitar al usuario la entrada.

function repromptDialog(): Promise<void>

Devoluciones

Promise<void>

Comentarios

Esto llama al método repromptDialog del cuadro de diálogo activo.

Por ejemplo:

await dc.repromptDialog();

heredado dedialogContext.repromptDialog