DialogContext class
O contexto da caixa de diálogo atual gira em relação a um DialogSet específico.
Comentários
Isso inclui o contexto de turno, informações sobre o conjunto de diálogos e o estado da pilha de diálogos.
No código fora de uma caixa de diálogo no conjunto, use DialogSet.createContext para criar o contexto da caixa de diálogo. Em seguida, use os métodos do contexto da caixa de diálogo para gerenciar a progressão de diálogos no conjunto.
Quando você implementa uma caixa de diálogo, o contexto da caixa de diálogo é um parâmetro disponível para os vários métodos que você substitui ou implementa.
Por exemplo:
const dc = await dialogs.createContext(turnContext);
const result = await dc.continueDialog();
Construtores
Dialog |
Cria uma nova instância da classe DialogContext . |
Dialog |
Cria uma nova instância da classe DialogContext . |
Propriedades
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
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 remove 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 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 que a caixa de diálogo ativa solicite novamente a entrada do usuário. |
Detalhes do construtor
DialogContext(DialogSet, DialogContext, DialogState)
Cria uma nova instância da classe DialogContext .
new DialogContext(dialogs: DialogSet, contextOrDC: DialogContext, state: DialogState)
Parâmetros
- contextOrDC
- DialogContext
O objeto TurnContext para a virada atual do bot.
- state
- DialogState
O objeto de estado a ser usado para ler e gravar DialogState no armazenamento.
Comentários
Passar uma instância dialogContext clonará o contexto da caixa de diálogo.
DialogContext(DialogSet, TurnContext, DialogState)
Cria uma nova instância da classe DialogContext .
new DialogContext(dialogs: DialogSet, contextOrDC: TurnContext, state: DialogState)
Parâmetros
- contextOrDC
-
TurnContext
O objeto TurnContext para a virada atual do bot.
- state
- DialogState
O objeto de estado a ser usado para ler e gravar DialogState no armazenamento.
Comentários
Passar uma instância dialogContext clonará o contexto da caixa de diálogo.
Detalhes da propriedade
activeDialog
DialogInstance | undefined activeDialog
Valor da propriedade
DialogInstance | undefined
As informações de estado da caixa de diálogo na parte superior da pilha de diálogo ou undefined
se a pilha estiver vazia.
child
DialogContext | undefined child
Valor da propriedade
DialogContext | undefined
Contexto da caixa de diálogo para filho se a caixa de diálogo ativa for um contêiner.
context
Obtém o objeto de contexto para a curva.
context: TurnContext
Valor da propriedade
TurnContext
dialogManager
Aviso
Essa API foi preterida.
This property serves no function.
DialogManager dialogManager
Valor da propriedade
A instância atual do gerenciador de diálogos. Essa propriedade é preterida.
dialogs
Obtém as caixas de diálogo que podem ser chamadas diretamente desse contexto.
dialogs: DialogSet
Valor da propriedade
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 nesse contexto de caixa de diálogo, ela pesquisa em seu contexto de diálogo pai e assim por diante.
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
stack
state
Obtém o DialogStateManager que gerencia a exibição de todos os escopos de memória.
state: DialogStateManager
Valor da propriedade
Detalhes do método
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
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
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.`);
}
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. Sinalizador para controlar se o evento deve ser colocado em bolhas para seu pai se não for manipulado 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.
endDialog(any)
Encerra uma caixa de diálogo e a remove 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 do 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álogos, 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 será encerrada 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álogos após a conclusão desse método.
Normalmente, você chamaria isso de dentro da lógica para uma caixa de diálogo específica 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
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 DialogSet associado a esse contexto de caixa de diálogo, ele tentará localizar a caixa de diálogo em seu contexto de caixa de diálogo pai.
Consulte também
getLocale()
Obtenha CultureInfo em DialogContext.
function getLocale(): string
Retornos
string
uma cadeia de caracteres de localidade.
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 de 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?`);
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 de 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?`);
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 do 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álogos 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
repromptDialog()
Solicita que a caixa de diálogo ativa solicite 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();