Compartilhar via


WaterfallStepContext class

Objeto de contexto passado para um WaterfallStep.

Extends

Construtores

WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)

Cria uma nova instância de WaterfallStepContext.

Propriedades

activeDialog
child
dialogManager
index

O índice da etapa atual da cascata que está sendo executada.

options

Todas as opções passadas para a caixa de diálogo cascata de etapas quando ela foi iniciada com DialogContext.beginDialog().

reason

O motivo pelo qual a etapa de cascata está sendo executada.

result

Resultados retornados por uma caixa de diálogo ou prompt que foi chamado na etapa anterior da cascata.

values

Um dicionário de valores que será persistido em todas as etapas de cascata.

Propriedades herdadas

context

Obtém o objeto de contexto para a curva.

dialogs

Obtém os diálogos que podem ser chamados diretamente desse contexto.

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.

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

next(any)

Pula para a próxima etapa de cascata.

Métodos herdados

beginDialog(string, object)

Inicia uma instância de caixa de diálogo e a envia por push para a pilha de diálogo. Cria uma nova instância da caixa de diálogo e a envia por push para a pilha.

cancelAllDialogs(boolean, string, any)

Cancela todos os diálogos na pilha de diálogos e limpa a pilha.

continueDialog()

Continua a execução da caixa de diálogo ativa, se houver uma, passando esse contexto de caixa de diálogo para seu método Dialog.continueDialog.

emitEvent(string, any, boolean, boolean)

Pesquisa uma caixa de diálogo com uma determinada ID.

endDialog(any)

Termina uma caixa de diálogo e a tira da pilha. Retorna um resultado opcional para o pai da caixa de diálogo.

findDialog(string)

Pesquisa uma caixa de diálogo com uma determinada ID.

getLocale()

Obtenha o CultureInfo em DialogContext.

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.

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.

replaceDialog(string, object)

Termina a caixa de diálogo ativa e inicia uma nova caixa de diálogo em seu lugar.

repromptDialog()

Solicita a caixa de diálogo ativa para solicitar novamente entrada ao usuário.

Detalhes do construtor

WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)

Cria uma nova instância de WaterfallStepContext.

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

Parâmetros

dc
DialogContext

O contexto da caixa de diálogo para a virada atual da conversa.

info

WaterfallStepInfo<O>

Valores para inicializar o contexto da etapa.

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 de caixa de diálogo para filho se a caixa de diálogo ativa for um contêiner.

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 foi preterida.

index

O índice da etapa atual da cascata que está sendo executada.

number index

Valor da propriedade

number

O índice da etapa atual da cascata que está sendo executada.

options

Todas as opções passadas para a caixa de diálogo cascata de etapas quando ela foi iniciada com DialogContext.beginDialog().

O options

Valor da propriedade

O

Todas as opções com as que a caixa de diálogo em cascata foi chamada.

reason

O motivo pelo qual a etapa de cascata está sendo executada.

DialogReason reason

Valor da propriedade

O motivo pelo qual a etapa de cascata está sendo executada.

result

Resultados retornados por uma caixa de diálogo ou prompt que foi chamado na etapa anterior da cascata.

any result

Valor da propriedade

any

O resultado da etapa anterior da cascata.

values

Um dicionário de valores que será persistido em todas as etapas de cascata.

object values

Valor da propriedade

object

Um dicionário de valores que será persistido em todas as etapas de cascata.

Detalhes das propriedades herdadas

context

Obtém o objeto de contexto para a curva.

context: TurnContext

Valor da propriedade

TurnContext

Herdado deDialogContext.context

dialogs

Obtém os diálogos que podem ser chamados diretamente desse contexto.

dialogs: DialogSet

Valor da propriedade

herdado dedialogContext.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 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 pesquisará no contexto da caixa de diálogo pai e assim por diante.

herdado dedialogContext.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

herdado dedialogContext.stack

state

Obtém o DialogStateManager que gerencia a exibição de todos os escopos de memória.

state: DialogStateManager

Valor da propriedade

herdado do dialogContext.state

Detalhes do método

next(any)

Pula para a próxima etapa de cascata.

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

Parâmetros

result

any

(Opcional) resultado para passar para a próxima etapa.

Retornos

Promise<DialogTurnResult>

Uma promessa com o DialogTurnResult.

Comentários

return await step.skip();

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álogo. 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 da curva 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álogo após a conclusão desse método.

Esse método gera uma exceção se a caixa de diálogo solicitada não puder ser encontrada neste contexto 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 deDialogContext.beginDialog

cancelAllDialogs(boolean, string, any)

Cancela todos os diálogos 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 serão canceladas.

eventName

string

Opcional. Nome de um evento personalizado a ser gerado à medida que 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 da curva 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 caixas de diálogo na pilha inicialmente, o status do valor retornado será cancelado; caso contrário, é 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

  • endDialog

Herdado deDialogContext.cancelAllDialogs

continueDialog()

Continua a execução da caixa de diálogo ativa, se houver uma, passando esse contexto de caixa de diálogo para seu método Dialog.continueDialog.

function continueDialog(): Promise<DialogTurnResult>

Retornos

Promise<DialogTurnResult>

uma promessa de resolução para o resultado da curva da caixa de diálogo.

Comentários

Após a conclusão da chamada, você pode verificar a do contexto de turno respondeu propriedade 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álogo 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 deDialogContext.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 a ser gerado.

value

any

Opcional. Valor a ser enviado junto com o evento.

bubble

boolean

Opcional. Sinalizar para controlar se o evento deve ser gerado em 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 dedialogContext.emitEvent

endDialog(any)

Termina 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 esta for 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 da curva 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 do resultado do objeto retornado propriedade.

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 dedialogContext.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 DialogSet associado a esse contexto de diálogo, ele tentará encontrar a caixa de diálogo no contexto da caixa de diálogo pai.

Consulte também

herdado dedialogContext.findDialog

getLocale()

Obtenha o CultureInfo em DialogContext.

function getLocale(): string

Retornos

string

uma cadeia de caracteres de localidade.

herdado dedialogContext.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 de prompt.

Retornos

Promise<DialogTurnResult>

Comentários

Esse método auxiliar formata o objeto a ser usado como o parâmetro options 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 doDialogContext.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 ao usuário, a atividade para enviar 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 parâmetro options 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 doDialogContext.prompt

replaceDialog(string, object)

Termina 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 da curva 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 deDialogContext.replaceDialog

repromptDialog()

Solicita a caixa de diálogo ativa para solicitar novamente entrada ao 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 dedialogContext.repromptDialog