[Resolvido] Validação de exceção no Builder


#1

Boa tarde pessoal,

Quando apresento uma mensagem ao usuário com opções (menu, por exemplo). Caso seja digitado algo que eu não esteja esperando, gostaria de apresentar mensagem avisando que “não entendi” e repetir a pergunta, permanecendo no mesmo estado da conversa.

No SDK C# resolvia esta questão tratando na máquina de estados sem problemas.
Porém no Builder gostaria de saber qual seria a melhor alternativa para isto.

Se deixar para o bloco de controle exceção, a mensagem será apresentada, porém o status da conversa volta para o início. Poderia ser possível definir um fluxo de saída nesta caixa de controle, redirecionando ao estado anterior. Porém acredito que não seria a melhor solução em aplicações maiores: existiriam muitos tratamentos para redirecionar para cada estado existente no fluxo.

Posso configurar a saída padrão como o próprio bloco. Funciona com relação a reapresentação da mensagem original com as opções aceitas, mas faltaria um diálogo indicando que a entrada do usuário não é válida.

Suponho que a melhor forma seria uma validação na entrada do usuário, mas não sei bem como funcionaria. Pois acredito que a expressão regular não seria muito adequada para isto. Também não entendi qual o funcionamento da validação “Tipo” que existe nesta opção (não encontrei documentação).

Enfim, qual seria a melhor opção para esta situação?
Obrigado.


#2

Oi, fernando.

O que você pode fazer é simular um bloco de exceção:

Você cria um bloco com o nome que você desejar e la no bloco do menu você define esse bloco que você criou como saída padrão.

Isso vai fazer com que quando seu usuário digitar algo não previsto aquele bloco que você criou vai ser o bloco exceção que tratará a mensagem do usuário!

Se você quiser posso montar um projetinho bem simples e te enviar o .json para você importar ai na sua dashboard e ver como funciona!


#3

Ok, entendi.
Obrigado.


#4

Fernando, conseguiu fazer?


#5

Sim, entendi e implementei.

Apenas com relação aquela outra questão que perguntei: saberia informar qual o funcionamento da validação “Tipo” que existe nas opções de validação de entrada do usuário (não encontrei documentação)? Só para entender como poderia utilizar esta opção nos diálogos.


#6

Olá @Fernando_Bellin,

acho que no seu contexto:

o melhor é criar uma validação na entrada do usuário. Isso forçará que o usuário envie o conteúdo correto e permaneça no mesmo ponto do fluxo.
Para fazer isso, como você já percebeu, é possível usar um padrão REGEX ou um Tipo específico.
O modo Tipo indica qual o tipo de conteúdo enviado pelo usuário, exemplo:

  • type = text/plain

Indica que o usuário precisa enviar um texto.

  • type = application/vnd.lime.media-link

Indica que o usuário precisa enviar uma imagem

Todos os tipos de conteúdo possíveis estão na documentação do BLiP na seção Content-Type

https://docs.blip.ai/?http#ContentTypesSamples


#7

Certo, entendi.
Muito obrigado!