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
| add |
Chamado uma vez para cada caixa de diálogo dentro de uma biblioteca para dar ao diálogo a chance de adicionar seu |
| begin<T>(Session, T) | Chamado quando uma nova sessão de diálogo está sendo iniciada. |
| begin |
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. |
| cancel |
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(Action |
Retorna um clone de um ActionSet existente. |
| custom |
Associa uma ação personalizada à caixa de diálogo que chamará o manipulador de de onSelectAction quando disparado. |
| dialog |
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. |
| dialog |
Uma caixa de diálogo filho terminou e a atual está sendo retomada. |
| end |
Associa uma ação que encerrará a conversa com o usuário quando disparada. |
| find |
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(IRecognize |
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(). |
| reload |
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". |
| reply |
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. |
| select |
Seleciona a rota que teve a maior pontuação de confiança para o enunciado. |
| trigger |
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.
(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
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.
(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.
(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.