Compartilhar via


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

ActionContext(DialogSet, DialogContext, DialogState, ActionState[], symbol)

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

activeDialog
child
context

Obtém o objeto de contexto para a curva.

dialogManager
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 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

applyChanges()

Aplica as alterações enfileiradas.

queueChanges(ActionChangeList)

Enfileira um conjunto de alterações que serão aplicadas quando applyChanges() for chamado.

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álogos. Cria uma nova instância da caixa de diálogo e a envia por push para a pilha.

cancelAllDialogs(boolean, string, any)

Cancela todas as caixas de diálogo 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 o método Dialog.continueDialog .

emitEvent(string, any, boolean, boolean)

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

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.

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)

Encerra 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 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

ActionState[]

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