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

applyChanges()

Aplica as alterações na fila.

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

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 os diálogos que podem ser chamados diretamente desse contexto.

dialogs: DialogSet

Valor da propriedade

DialogSet

herdado de dialogContext.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 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 na fila.

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 alterações na fila para cima.

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 de DialogContext.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 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 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 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 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 de DialogContext.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 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 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

  • caixas de diálogo
  • pai

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 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 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 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 de DialogContext.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 de DialogContext.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 de DialogContext.repromptDialog