Compartilhar via


Dialog class

Classe base para todos os diálogos. As caixas de diálogo são o componente principal da estrutura do BotBuilder. Os bots usam caixas de diálogo para gerenciar conversas arbitrariamente complexas com um usuário.

Extends

Métodos

addDialogTrigger(ActionSet, string)

Chamado uma vez para cada caixa de diálogo dentro de uma biblioteca para dar ao diálogo a chance de adicionar seu triggerAction() ao conjunto de ações global de bibliotecas. Esses gatilhos são mapeados para um beginDialogAction() que inicia a caixa de diálogo quando a condição do gatilho é atendida.

begin<T>(Session, T)

Chamado quando uma nova sessão de diálogo está sendo iniciada.

beginDialogAction(string, string, IBeginDialogActionOptions)

Associa uma ação à caixa de diálogo que iniciará outra caixa de diálogo sempre que ela for disparada. A nova caixa de diálogo será enviada por push para a pilha para que ela não encerre automaticamente a tarefa atual. A tarefa atual será continuada quando a nova caixa de diálogo terminar. Os prompts internos solicitarão automaticamente ao usuário uma vez que isso aconteça, mas esse comportamento pode ser desabilitado definindo o sinalizador promptAfterAction ao chamar um prompt interno.

cancelAction(string, TextOrMessageType, ICancelActionOptions)

Associa uma ação à caixa de diálogo que cancelará a caixa de diálogo sempre que ela for disparada. Quando cancelado, o pai das caixas de diálogo será retomado com um código de retomado indicando que ele foi cancelado.

clone(ActionSet)

Retorna um clone de um ActionSet existente.

customAction(IDialogActionOptions)

Associa uma ação personalizada à caixa de diálogo que chamará o manipulador de de onSelectAction quando disparado.

dialogInterrupted(Session, string, any)

Chamado quando uma caixa de diálogo raiz está sendo interrompida por outra caixa de diálogo. Isso dá à caixa de diálogo que está sendo interrompida a chance de executar a lógica personalizada antes de ser removida da pilha. A caixa de diálogo em si é responsável por limpar a pilha de diálogo e iniciar a nova caixa de diálogo.

dialogResumed<T>(Session, IDialogResult<T>)

Uma caixa de diálogo filho terminou e a atual está sendo retomada.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Associa uma ação que encerrará a conversa com o usuário quando disparada.

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Chamado durante o Library.findRoutes() chamada para cada caixa de diálogo na pilha para determinar se alguma das ações de diálogos é disparada pelo enunciado dos usuários.

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

Analisa o enunciado dos usuários e atribui uma pontuação de 0,0 a 1,0 indicando o quão confiante é a caixa de diálogo de que ele entendeu o enunciado dos usuários. Esse método é sempre chamado para a caixa de diálogo ativa na pilha. Uma pontuação de 1.0 indicará uma correspondência perfeita e encerrará qualquer reconhecimento adicional. Quando a pontuação for menor que 1,0, cada diálogo na pilha terá seu método recognizeAction() chamado também para ver se há ações nomeadas associadas à caixa de diálogo que corresponda melhor ao enunciado dos usuários. Ações globais registradas no nível do bot também serão avaliadas. Se a caixa de diálogo tiver uma pontuação maior, as ações associadas, as caixas de diálogo método replyReceived() serão chamadas com o objeto de resultado retornado da chamada recognize(). Isso permite que a caixa de diálogo passe dados adicionais coletados durante a fase de reconhecimento para o método replyReceived() para tratamento.

Se houver uma ação com uma pontuação mais alta, a caixa de diálogo será invocada em vez do método replyReceived() dos diálogos. A caixa de diálogo permanecerá na pilha e poderá ser retomada em algum momento caso a ação invoque uma nova caixa de diálogo para que os diálogos se preparem para chamadas inesperadas para dialogResumed().

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

Associa uma ação à caixa de diálogo que fará com que a caixa de diálogo seja recarregada sempre que for disparada. Isso é útil para implementar a lógica que manipula enunciados do usuário, como "startover".

replyReceived(Session, IRecognizeResult)

Chamado quando uma nova mensagem de resposta foi recebida de um usuário. Classes derivadas devem implementar isso para processar a mensagem recebida do usuário.

selectActionRoute(Session, IRouteResult)

Seleciona a rota que teve a maior pontuação de confiança para o enunciado.

triggerAction(ITriggerActionOptions)

Associa uma ação à caixa de diálogo que a tornará a caixa de diálogo ativa sempre que ela for disparada. O comportamento padrão é interutilizar qualquer caixa de diálogo existente desmarcando a pilha e iniciando a caixa de diálogo na raiz da pilha. A caixa de diálogo que está sendo interrompida pode interceptar essa interrupção adicionando um personalizado no manipulador de Interrompido às opções de ação de gatilho. Além disso, você pode personalizar a maneira como a caixa de diálogo disparada é iniciada fornecendo uma personalizada no manipulador de onSelectAction para suas opções de ação de gatilho.

Detalhes do método

addDialogTrigger(ActionSet, string)

Chamado uma vez para cada caixa de diálogo dentro de uma biblioteca para dar ao diálogo a chance de adicionar seu triggerAction() ao conjunto de ações global de bibliotecas. Esses gatilhos são mapeados para um beginDialogAction() que inicia a caixa de diálogo quando a condição do gatilho é atendida.

function addDialogTrigger(actions: ActionSet, dialogId: string)

Parâmetros

actions
ActionSet

Conjunto de ações globais de bibliotecas.

dialogId

string

A ID totalmente qualificada da caixa de diálogo a ser disparada.

begin<T>(Session, T)

Chamado quando uma nova sessão de diálogo está sendo iniciada.

function begin<T>(session: Session, args?: T)

Parâmetros

session
Session

Objeto de sessão para a conversa atual.

args

T

Argumentos (opcionais) passados para a caixa de diálogo por seu pai.

beginDialogAction(string, string, IBeginDialogActionOptions)

Associa uma ação à caixa de diálogo que iniciará outra caixa de diálogo sempre que ela for disparada. A nova caixa de diálogo será enviada por push para a pilha para que ela não encerre automaticamente a tarefa atual. A tarefa atual será continuada quando a nova caixa de diálogo terminar. Os prompts internos solicitarão automaticamente ao usuário uma vez que isso aconteça, mas esse comportamento pode ser desabilitado definindo o sinalizador promptAfterAction ao chamar um prompt interno.

function beginDialogAction(name: string, id: string, options?: IBeginDialogActionOptions)

Parâmetros

name

string

Nome exclusivo para atribuir a ação.

id

string

ID da caixa de diálogo a ser iniciada.

options
IBeginDialogActionOptions

Opções (opcionais) usadas para configurar a ação. Se corresponder for especificado, a ação ouvirá o usuário dizer uma palavra ou frase que dispara a ação, caso contrário, a ação precisará ser associada a um botão usando CardAction.dialogAction() para disparar a ação. Você também pode usar dialogArgs para passar params adicionais para a caixa de diálogo que está sendo iniciada.

Retornos

cancelAction(string, TextOrMessageType, ICancelActionOptions)

Associa uma ação à caixa de diálogo que cancelará a caixa de diálogo sempre que ela for disparada. Quando cancelado, o pai das caixas de diálogo será retomado com um código de retomado indicando que ele foi cancelado.

function cancelAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

Parâmetros

name

string

Nome exclusivo para atribuir a ação.

msg
TextOrMessageType

(Opcional) mensagem para enviar ao usuário antes de cancelar a caixa de diálogo.

options
ICancelActionOptions

Opções (opcionais) usadas para configurar a ação. Se corresponder for especificado, a ação ouvirá o usuário dizer uma palavra ou frase que dispara a ação, caso contrário, a ação precisará ser associada a um botão usando CardAction.dialogAction() para disparar a ação.

Retornos

clone(ActionSet)

Retorna um clone de um ActionSet existente.

function clone(copyTo?: ActionSet)

Parâmetros

copyTo
ActionSet

(Opcional) instância para a qual copiar o objeto atual. Se uma nova instância estiver ausente, será criada.

Retornos

customAction(IDialogActionOptions)

Associa uma ação personalizada à caixa de diálogo que chamará o manipulador de de onSelectAction quando disparado.

function customAction(options: IDialogActionOptions)

Parâmetros

options
IDialogActionOptions

As opções usadas para configurar a ação. Se corresponder for especificado, a ação escutará o usuário para dizer uma palavra ou frase que dispara a ação. A lógica de correspondência personalizada pode ser fornecida usando onFindAction.

Retornos

dialogInterrupted(Session, string, any)

Chamado quando uma caixa de diálogo raiz está sendo interrompida por outra caixa de diálogo. Isso dá à caixa de diálogo que está sendo interrompida a chance de executar a lógica personalizada antes de ser removida da pilha. A caixa de diálogo em si é responsável por limpar a pilha de diálogo e iniciar a nova caixa de diálogo.

function dialogInterrupted(session: Session, dialogId: string, dialogArgs: any)

Parâmetros

session
Session

Objeto de sessão para a conversa atual.

dialogId

string

ID da caixa de diálogo que deve ser iniciada.

dialogArgs

any

Argumentos que devem ser passados para a nova caixa de diálogo.

dialogResumed<T>(Session, IDialogResult<T>)

Uma caixa de diálogo filho terminou e a atual está sendo retomada.

function dialogResumed<T>(session: Session, result: IDialogResult<T>)

Parâmetros

session
Session

Objeto de sessão para a conversa atual.

result

IDialogResult<T>

Resultado retornado pela caixa de diálogo filho.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Associa uma ação que encerrará a conversa com o usuário quando disparada.

function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

Parâmetros

name

string

Nome exclusivo para atribuir a ação.

msg
TextOrMessageType

(Opcional) mensagem para enviar o usuário antes de encerrar a conversa.

options
ICancelActionOptions

Opções (opcionais) usadas para configurar a ação. Se corresponder for especificado, a ação ouvirá o usuário dizer uma palavra ou frase que dispara a ação, caso contrário, a ação precisará ser associada a um botão usando CardAction.dialogAction() para disparar a ação.

Retornos

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Chamado durante o Library.findRoutes() chamada para cada caixa de diálogo na pilha para determinar se alguma das ações de diálogos é disparada pelo enunciado dos usuários.

function findActionRoutes(context: IRecognizeDialogContext, callback: (err: Error, results: IRouteResult[]) => void)

Parâmetros

context
IRecognizeDialogContext

O contexto da mensagem de entrada, bem como a dialogData para a caixa de diálogo avaliada.

callback

(err: Error, results: IRouteResult[]) => void

Função a ser invocada com as principais rotas candidatas.

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

Analisa o enunciado dos usuários e atribui uma pontuação de 0,0 a 1,0 indicando o quão confiante é a caixa de diálogo de que ele entendeu o enunciado dos usuários. Esse método é sempre chamado para a caixa de diálogo ativa na pilha. Uma pontuação de 1.0 indicará uma correspondência perfeita e encerrará qualquer reconhecimento adicional. Quando a pontuação for menor que 1,0, cada diálogo na pilha terá seu método recognizeAction() chamado também para ver se há ações nomeadas associadas à caixa de diálogo que corresponda melhor ao enunciado dos usuários. Ações globais registradas no nível do bot também serão avaliadas. Se a caixa de diálogo tiver uma pontuação maior, as ações associadas, as caixas de diálogo método replyReceived() serão chamadas com o objeto de resultado retornado da chamada recognize(). Isso permite que a caixa de diálogo passe dados adicionais coletados durante a fase de reconhecimento para o método replyReceived() para tratamento.

Se houver uma ação com uma pontuação mais alta, a caixa de diálogo será invocada em vez do método replyReceived() dos diálogos. A caixa de diálogo permanecerá na pilha e poderá ser retomada em algum momento caso a ação invoque uma nova caixa de diálogo para que os diálogos se preparem para chamadas inesperadas para dialogResumed().

function recognize(context: IRecognizeDialogContext, callback: (err: Error, result: IRecognizeResult) => void)

Parâmetros

context
IRecognizeDialogContext

O contexto da solicitação.

callback

(err: Error, result: IRecognizeResult) => void

Função a ser invocada com os resultados do reconhecimento.

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

Associa uma ação à caixa de diálogo que fará com que a caixa de diálogo seja recarregada sempre que for disparada. Isso é útil para implementar a lógica que manipula enunciados do usuário, como "startover".

function reloadAction(name: string, msg?: TextOrMessageType, options?: IBeginDialogActionOptions)

Parâmetros

name

string

Nome exclusivo para atribuir a ação.

msg
TextOrMessageType

(Opcional) mensagem para enviar o usuário antes de recarregar a caixa de diálogo.

options
IBeginDialogActionOptions

Opções (opcionais) usadas para configurar a ação. Se corresponder for especificado, a ação ouvirá o usuário dizer uma palavra ou frase que dispara a ação, caso contrário, a ação precisará ser associada a um botão usando CardAction.dialogAction() para disparar a ação. Você também pode usar dialogArgs para passar params adicionais para a caixa de diálogo quando recarregado.

Retornos

replyReceived(Session, IRecognizeResult)

Chamado quando uma nova mensagem de resposta foi recebida de um usuário. Classes derivadas devem implementar isso para processar a mensagem recebida do usuário.

function replyReceived(session: Session, recognizeResult: IRecognizeResult)

Parâmetros

session
Session

Objeto de sessão para a conversa atual.

recognizeResult
IRecognizeResult

Resultados retornados de uma chamada anterior para os diálogos método recognize().

selectActionRoute(Session, IRouteResult)

Seleciona a rota que teve a maior pontuação de confiança para o enunciado.

function selectActionRoute(session: Session, route: IRouteResult)

Parâmetros

session
Session

Objeto de sessão para a conversa atual.

route
IRouteResult

Resultados retornados da chamada para findActionRoutes().

triggerAction(ITriggerActionOptions)

Associa uma ação à caixa de diálogo que a tornará a caixa de diálogo ativa sempre que ela for disparada. O comportamento padrão é interutilizar qualquer caixa de diálogo existente desmarcando a pilha e iniciando a caixa de diálogo na raiz da pilha. A caixa de diálogo que está sendo interrompida pode interceptar essa interrupção adicionando um personalizado no manipulador de Interrompido às opções de ação de gatilho. Além disso, você pode personalizar a maneira como a caixa de diálogo disparada é iniciada fornecendo uma personalizada no manipulador de onSelectAction para suas opções de ação de gatilho.

function triggerAction(options: ITriggerActionOptions)

Parâmetros

options
ITriggerActionOptions

Opções usadas para configurar a ação.

Retornos