ActionContext class
Extiende el dialogContext de con métodos adicionales para manipular la secuencia de acciones en ejecución de un AdaptiveDialog.
- Extends
-
DialogContext
Constructores
| Action |
Inicializa una nueva instancia de la clase ActionContext |
Propiedades
| actions | Lista de acciones que se ejecutan. |
| changes | Obtiene la lista de cambios que se ponen en cola para aplicarse. |
Propiedades heredadas
| active |
|
| child | |
| context | Obtiene el objeto de contexto del turno. |
| dialog |
|
| 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 |
| 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
| apply |
Aplica los cambios en cola. |
| queue |
Pone en cola un conjunto de cambios que se aplicarán cuando se llame a applyChanges(). |
Métodos heredados
| begin |
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. |
| cancel |
Cancela todos los diálogos de la pila de diálogos y borra la pila. |
| continue |
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. |
| emit |
Busca un cuadro de diálogo con un identificador determinado. |
| end |
Finaliza un cuadro de diálogo y lo quita de la pila. Devuelve un resultado opcional al elemento primario del cuadro de diálogo. |
| find |
Busca un cuadro de diálogo con un identificador determinado. |
| get |
Obtenga cultureInfo en DialogContext. |
| prompt(string, string | Partial<Activity> | Prompt |
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> | Prompt |
Función auxiliar para simplificar el formato de las opciones para llamar a un cuadro de diálogo de aviso. |
| replace |
Finaliza el cuadro de diálogo activo e inicia un diálogo nuevo en su lugar. |
| reprompt |
Solicita al cuadro de diálogo activo que vuelva a solicitar al usuario la entrada. |
Detalles del constructor
ActionContext(DialogSet, DialogContext, DialogState, ActionState[], symbol)
Inicializa una nueva instancia de la clase ActionContext
new ActionContext(dialogs: DialogSet, parentDialogContext: DialogContext, state: DialogState, actions: ActionState[], changeKey: symbol)
Parámetros
- dialogs
-
DialogSet
El conjunto de diálogos para el que se va a crear el contexto de acción.
- parentDialogContext
-
DialogContext
Contexto del cuadro de diálogo primario.
- state
-
DialogState
Estado actual del cuadro de diálogo.
- actions
Lista actual de las acciones restantes que se van a ejecutar.
- changeKey
-
symbol
Tecla TurnState para dónde conservar los cambios.
Detalles de las propiedades
actions
changes
Obtiene la lista de cambios que se ponen en cola para aplicarse.
ActionChangeList[] changes
Valor de propiedad
Lista de cambios en cola.
Detalles de las propiedades heredadas
activeDialog
activeDialog: DialogInstance | undefined
Valor de propiedad
DialogInstance | undefined
heredado de DialogContext.activeDialog
child
child: DialogContext | undefined
Valor de propiedad
DialogContext | undefined
Heredado de DialogContext.child
context
Obtiene el objeto de contexto del turno.
context: TurnContext
Valor de propiedad
TurnContext
Heredado de DialogContext.context
dialogManager
dialogManager: DialogManager
Valor de propiedad
DialogManager
Heredado de DialogContext.dialogManager
dialogs
Obtiene los diálogos a los que se puede llamar directamente desde este contexto.
dialogs: DialogSet
Valor de propiedad
DialogSet
Heredado de DialogContext.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 de DialogContext.parent
services
Obtiene la colección de servicios que es contextual para este contexto de diálogo.
services: TurnContextStateCollection
Valor de propiedad
TurnContextStateCollection
Heredado de DialogContext.services
stack
Obtiene la pila de diálogos actual.
stack: DialogInstance[]
Valor de propiedad
DialogInstance[]
Heredado de DialogContext.stack
state
Obtiene el DialogStateManager que administra la vista de todos los ámbitos de memoria.
state: DialogStateManager
Valor de propiedad
DialogStateManager
Heredado de DialogContext.state
Detalles del método
applyChanges()
Aplica los cambios en cola.
function applyChanges(): Promise<boolean>
Devoluciones
Promise<boolean>
True si se han realizado cambios en la aplicación.
queueChanges(ActionChangeList)
Pone en cola un conjunto de cambios que se aplicarán cuando se llame a applyChanges().
function queueChanges(changes: ActionChangeList)
Parámetros
- changes
- ActionChangeList
Planee los cambios para poner en cola.
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
- endDialog
- del símbolo del sistema
- replaceDialog
- dialog.beginDialog
Heredar de DialogContext.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 de DialogContext.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 de DialogContext.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 de DialogContext.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
- beginDialog
- replaceDialog
- Dialog.endDialog
Heredado de DialogContext.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
heredar de dialogContext.findDialog
getLocale()
Obtenga cultureInfo en DialogContext.
function getLocale(): string
Devoluciones
string
una cadena de configuración regional.
Heredar de DialogContext.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?`);
Heredar de DialogContext.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?`);
Heredar de DialogContext.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
- beginDialog
- endDialog
Heredar de DialogContext.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();
Heredar de DialogContext.repromptDialog