ActionContext class
Estende o DialogContext com métodos adicionais para manipular a sequência de ações em execução para um AdaptiveDialog.
- Extends
-
DialogContext
Construtores
Action |
Inicializa uma nova instância da classe ActionContext |
Propriedades
actions | Lista de ações que estão sendo executadas. |
changes | Obtém a lista de alterações que estão na fila a serem aplicadas. |
Propriedades herdadas
active |
|
child | |
context | Obtém o objeto de contexto para a curva. |
dialog |
|
dialogs | Obtém as caixas de diálogo que podem ser chamadas diretamente desse contexto. |
parent | O contexto da caixa de diálogo pai para esse contexto de caixa de diálogo ou |
services | Obtém a coleção de serviços que é contextual para esse contexto de caixa de diálogo. |
stack | Obtém a pilha de diálogo atual. |
state | Obtém o DialogStateManager que gerencia a exibição de todos os escopos de memória. |
Métodos
apply |
Aplica as alterações enfileiradas. |
queue |
Enfileira um conjunto de alterações que serão aplicadas quando applyChanges() for chamado. |
Métodos herdados
begin |
Inicia uma instância de caixa de diálogo e a envia por push para a pilha de diálogos. Cria uma nova instância da caixa de diálogo e a envia por push para a pilha. |
cancel |
Cancela todas as caixas de diálogo na pilha de diálogos e limpa a pilha. |
continue |
Continua a execução da caixa de diálogo ativa, se houver uma, passando esse contexto de caixa de diálogo para o método Dialog.continueDialog . |
emit |
Pesquisa uma caixa de diálogo com uma determinada ID. |
end |
Encerra uma caixa de diálogo e a tira da pilha. Retorna um resultado opcional para o pai da caixa de diálogo. |
find |
Pesquisa uma caixa de diálogo com uma determinada ID. |
get |
Obtenha o CultureInfo em DialogContext. |
prompt(string, string | Partial<Activity> | Prompt |
Função auxiliar para simplificar a formatação das opções para chamar uma caixa de diálogo de prompt. |
prompt(string, string | Partial<Activity> | Prompt |
Função auxiliar para simplificar a formatação das opções para chamar uma caixa de diálogo de prompt. |
replace |
Encerra a caixa de diálogo ativa e inicia uma nova caixa de diálogo em seu lugar. |
reprompt |
Solicita a caixa de diálogo ativa para solicitar novamente a entrada do usuário. |
Detalhes do construtor
ActionContext(DialogSet, DialogContext, DialogState, ActionState[], symbol)
Inicializa uma nova instância da classe ActionContext
new ActionContext(dialogs: DialogSet, parentDialogContext: DialogContext, state: DialogState, actions: ActionState[], changeKey: symbol)
Parâmetros
- dialogs
-
DialogSet
O conjunto de diálogos para o qual criar o contexto de ação.
- parentDialogContext
-
DialogContext
Contexto da caixa de diálogo pai.
- state
-
DialogState
Estado da caixa de diálogo atual.
- actions
Lista atual de ações restantes a serem executadas.
- changeKey
-
symbol
Chave TurnState para onde persistir as alterações.
Detalhes da propriedade
actions
Lista de ações que estão sendo executadas.
actions: ActionState[]
Valor da propriedade
changes
Obtém a lista de alterações que estão na fila a serem aplicadas.
ActionChangeList[] changes
Valor da propriedade
A lista de alterações enfileiradas.
Detalhes das propriedades herdadas
activeDialog
activeDialog: DialogInstance | undefined
Valor da propriedade
DialogInstance | undefined
Herdado de DialogContext.activeDialog
child
child: DialogContext | undefined
Valor da propriedade
DialogContext | undefined
Herdado de DialogContext.child
context
Obtém o objeto de contexto para a curva.
context: TurnContext
Valor da propriedade
TurnContext
Herdado de DialogContext.context
dialogManager
dialogManager: DialogManager
Valor da propriedade
DialogManager
Herdado de DialogContext.dialogManager
dialogs
Obtém as caixas de diálogo que podem ser chamadas diretamente desse contexto.
dialogs: DialogSet
Valor da propriedade
DialogSet
Herdado de Caixas de diálogoContext.dialogs
parent
O contexto da caixa de diálogo pai para esse contexto de caixa de diálogo ou undefined
se esse contexto não tiver um pai.
parent: DialogContext | undefined
Valor da propriedade
DialogContext | undefined
Comentários
Quando ele tenta iniciar uma caixa de diálogo, o contexto da caixa de diálogo pesquisa o Dialog.id em seus diálogos. Se a caixa de diálogo a ser iniciada não for encontrada neste contexto de caixa de diálogo, ela pesquisa em seu contexto de caixa de diálogo pai e assim por diante.
Herdado de DialogContext.parent
services
Obtém a coleção de serviços que é contextual para esse contexto de caixa de diálogo.
services: TurnContextStateCollection
Valor da propriedade
TurnContextStateCollection
Herdado de DialogContext.services
stack
Obtém a pilha de diálogo atual.
stack: DialogInstance[]
Valor da propriedade
DialogInstance[]
Herdado de DialogContext.stack
state
Obtém o DialogStateManager que gerencia a exibição de todos os escopos de memória.
state: DialogStateManager
Valor da propriedade
DialogStateManager
Herdado de DialogContext.state
Detalhes do método
applyChanges()
Aplica as alterações enfileiradas.
function applyChanges(): Promise<boolean>
Retornos
Promise<boolean>
True se houver alterações a serem aplicadas.
queueChanges(ActionChangeList)
Enfileira um conjunto de alterações que serão aplicadas quando applyChanges() for chamado.
function queueChanges(changes: ActionChangeList)
Parâmetros
- changes
- ActionChangeList
Planeje as alterações na fila.
Detalhes do método herdado
beginDialog(string, object)
Inicia uma instância de caixa de diálogo e a envia por push para a pilha de diálogos. Cria uma nova instância da caixa de diálogo e a envia por push para a pilha.
function beginDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
Parâmetros
- dialogId
-
string
ID da caixa de diálogo a ser iniciada.
- options
-
object
Opcional. Argumentos a serem passados para a caixa de diálogo quando ela for iniciada.
Retornos
Promise<DialogTurnResult>
uma promessa de resolução para o resultado do turno da caixa de diálogo.
Comentários
Se já houver uma caixa de diálogo ativa na pilha, essa caixa de diálogo será pausada até que seja novamente a caixa de diálogo superior na pilha.
O status do objeto retornado descreve o status da pilha de diálogos após a conclusão desse método.
Esse método gerará uma exceção se a caixa de diálogo solicitada não puder ser encontrada neste contexto de caixa de diálogo ou em qualquer um de seus ancestrais.
Por exemplo:
const result = await dc.beginDialog('greeting', { name: user.name });
Consulte também
Herdado de DialogContext.beginDialog
cancelAllDialogs(boolean, string, any)
Cancela todas as caixas de diálogo na pilha de diálogos e limpa a pilha.
function cancelAllDialogs(cancelParents?: boolean, eventName?: string, eventValue?: any): Promise<DialogTurnResult>
Parâmetros
- cancelParents
-
boolean
Opcional. Se true
todas as caixas de diálogo pai também forem canceladas.
- eventName
-
string
Opcional. Nome de um evento personalizado a ser acionado conforme as caixas de diálogo são canceladas. Esse padrão é cancelDialog.
- eventValue
-
any
Opcional. Valor a ser passado com o evento de cancelamento personalizado.
Retornos
Promise<DialogTurnResult>
uma promessa de resolução para o resultado do turno da caixa de diálogo.
Comentários
Isso chama o método Dialog.endDialog de cada caixa de diálogo antes de remover a caixa de diálogo da pilha.
Se houver alguma caixa de diálogo na pilha inicialmente, o status do valor retornado será cancelado; caso contrário, ele está vazio.
Este exemplo limpa uma pilha de diálogos, dc
, antes de iniciar uma caixa de diálogo 'bookFlight'.
await dc.cancelAllDialogs();
return await dc.beginDialog('bookFlight');
Consulte também
Herdado de DialogContext.cancelAllDialogs
continueDialog()
Continua a execução da caixa de diálogo ativa, se houver uma, passando esse contexto de caixa de diálogo para o método Dialog.continueDialog .
function continueDialog(): Promise<DialogTurnResult>
Retornos
Promise<DialogTurnResult>
uma promessa de resolução para o resultado do turno da caixa de diálogo.
Comentários
Após a conclusão da chamada, você pode verificar a propriedade respondida do contexto de turno para determinar se a caixa de diálogo enviou uma resposta ao usuário.
O status do objeto retornado descreve o status da pilha de diálogos após a conclusão desse método.
Normalmente, você chamaria isso de dentro do manipulador de turnos do bot.
Por exemplo:
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.`);
}
Herdado de DialogContext.continueDialog
emitEvent(string, any, boolean, boolean)
Pesquisa uma caixa de diálogo com uma determinada ID.
function emitEvent(name: string, value?: any, bubble?: boolean, fromLeaf?: boolean): Promise<boolean>
Parâmetros
- name
-
string
Nome do evento para gerar.
- value
-
any
Opcional. Valor a ser enviado junto com o evento .
- bubble
-
boolean
Opcional. Sinalize para controlar se o evento deve ser bolhas para seu pai se não for tratado localmente. O padrão é um valor de true
.
- fromLeaf
-
boolean
Opcional. Se o evento é emitido de um nó folha.
Retornos
Promise<boolean>
true
se o evento foi tratado.
Comentários
Emite um evento nomeado para a caixa de diálogo atual, ou alguém que o iniciou, para manipular.
Herdado de DialogContext.emitEvent
endDialog(any)
Encerra uma caixa de diálogo e a tira da pilha. Retorna um resultado opcional para o pai da caixa de diálogo.
function endDialog(result?: any): Promise<DialogTurnResult>
Parâmetros
- result
-
any
Opcional. Um resultado a ser passado para a lógica pai. Essa pode ser a próxima caixa de diálogo na pilha ou se essa foi a última caixa de diálogo na pilha, um contexto de caixa de diálogo pai ou o manipulador de turnos do bot.
Retornos
Promise<DialogTurnResult>
uma promessa de resolução para o resultado de turno da caixa de diálogo.
Comentários
A caixa de diálogo pai será a próxima caixa de diálogo na pilha de diálogo, se houver uma. Esse método chama o método Dialog.resumeDialog do pai, passando o resultado retornado pela caixa de diálogo final. Se não houver nenhuma caixa de diálogo pai, a curva terminará e o resultado estará disponível para o bot por meio da propriedade de resultado do objeto retornado.
O status do objeto retornado descreve o status da pilha de diálogo após a conclusão desse método.
Normalmente, você chamaria isso de dentro da lógica de uma caixa de diálogo específica para sinalizar de volta para o contexto da caixa de diálogo que a caixa de diálogo concluiu, a caixa de diálogo deve ser removida da pilha e a caixa de diálogo pai deve ser retomada.
Por exemplo:
return await dc.endDialog(returnValue);
Consulte também
Herdado de DialogContext.endDialog
findDialog(string)
Pesquisa uma caixa de diálogo com uma determinada ID.
function findDialog(dialogId: string): Dialog | undefined
Parâmetros
- dialogId
-
string
ID da caixa de diálogo a ser pesquisada.
Retornos
Dialog | undefined
A caixa de diálogo para a ID fornecida.
Comentários
Se a caixa de diálogo a ser iniciada não for encontrada no Conjunto de Diálogos associado a esse contexto de caixa de diálogo, ele tentará localizar a caixa de diálogo no contexto da caixa de diálogo pai.
Consulte também
Herdado de DialogContext.findDialog
getLocale()
Obtenha o CultureInfo em DialogContext.
function getLocale(): string
Retornos
string
uma cadeia de caracteres de localidade.
Herdado de DialogContext.getLocale
prompt(string, string | Partial<Activity> | PromptOptions)
Função auxiliar para simplificar a formatação das opções para chamar uma caixa de diálogo de prompt.
function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions): Promise<DialogTurnResult>
Parâmetros
- dialogId
-
string
ID da caixa de diálogo de prompt a ser iniciada.
- promptOrOptions
-
string | Partial<Activity> | PromptOptions
O texto do prompt inicial para enviar o usuário, a atividade a ser enviada como o prompt inicial ou o objeto com o qual formatar a caixa de diálogo do prompt.
Retornos
Promise<DialogTurnResult>
Comentários
Esse método auxiliar formata o objeto a ser usado como o options
parâmetro e, em seguida, chama beginDialog para iniciar a caixa de diálogo de prompt especificada.
return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);
Herdado de DialogContext.prompt
prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])
Função auxiliar para simplificar a formatação das opções para chamar uma caixa de diálogo de prompt.
function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions, choices: string | Choice[]): Promise<DialogTurnResult>
Parâmetros
- dialogId
-
string
ID da caixa de diálogo de prompt a ser iniciada.
- promptOrOptions
-
string | Partial<Activity> | PromptOptions
O texto do prompt inicial para enviar o usuário, a Atividade a ser enviada como o prompt inicial ou o objeto com o qual formatar a caixa de diálogo do prompt.
- choices
-
string | Choice[]
Opcional. Matriz de opções para o usuário escolher, para uso com um ChoicePrompt.
Retornos
Promise<DialogTurnResult>
Comentários
Esse método auxiliar formata o objeto a ser usado como o options
parâmetro e, em seguida, chama beginDialog para iniciar a caixa de diálogo de prompt especificada.
return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);
Herdado de DialogContext.prompt
replaceDialog(string, object)
Encerra a caixa de diálogo ativa e inicia uma nova caixa de diálogo em seu lugar.
function replaceDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
Parâmetros
- dialogId
-
string
ID da caixa de diálogo a ser iniciada.
- options
-
object
Opcional. Argumentos a serem passados para a nova caixa de diálogo quando ela for iniciada.
Retornos
Promise<DialogTurnResult>
uma promessa de resolução para o resultado de turno da caixa de diálogo.
Comentários
Isso é particularmente útil para criar um loop ou redirecionar para outra caixa de diálogo.
O status do objeto retornado descreve o status da pilha de diálogo após a conclusão desse método.
Esse método é semelhante a encerrar a caixa de diálogo atual e iniciar imediatamente o novo. No entanto, a caixa de diálogo pai não é retomada nem notificada de outra forma.
Consulte também
Herdado de DialogContext.replaceDialog
repromptDialog()
Solicita a caixa de diálogo ativa para solicitar novamente a entrada do usuário.
function repromptDialog(): Promise<void>
Retornos
Promise<void>
Comentários
Isso chama o método repromptDialog da caixa de diálogo ativa.
Por exemplo:
await dc.repromptDialog();
Herdado de DialogContext.repromptDialog