Primeira mensagem para o Bot retorna uma Exception

Primeira mensagem para o Bot retorna uma Exception

Bom dia.


Após criar um projeto e testá-lo no Messenger, quando envio “Oi” para o Bot muitas vezes ele me retorna uma exception dizendo que não conseguiu entender. Isso acontece no bloco início, na minha primeira entrada. O que pode estar ocasionando isso? Não achei que fosse possível acontecer uma excepção logo na primeira mensagem sendo ela apenas um “oi” já que as condições de saída dele são qualquer valor.


Eu criei uma página de Teste no facebook chamada TesteBot. O início do meu fluxo pode ser visto abaixo. E quando testo no Messenger me retorna erro.



Já excluí a conversa diversas vezes para começar do zero mas sempre me retorna esse “Desculpe, não consegui entender.” Comecei um projeto novo pra testar e deu a mesma coisa.


17 comentários

Qual a sua condição de saída do bloco Início?

Imagem abaixo:


da uma olhada la nas configurações da tua página se não tem outro aplicativo de mensagem instalado simultaneamente. Foi o que resolveu o meu problema!

Ohhh 😮 Poderia me ajudar com isso? Não consigo encontrar essa configuração

Posso ajudar sim.


Quando você está na sua página existem algumas opções logo acima da foto de capa, certo?

Ali existe uma opção que chama “Configurações”


Você clica nela e essa tela abrirá:


Entra na opção plataforma do messenger e você vai ver ali “Aplicativos inscritos” esses são os aplicativos de mensagem que estão autorizados a gerenciar sua página:


Ve se tem algum alem do Blip. Qualquer coisa avisa que tento te ajudar de outra maneira!

Ohh muito obrigada : D Infelizmente não tem mais nenhum aplicativo gerenciando minhas mensagens, a tela está igual ao seu print. Tentei colocar o Bot como ‘Primary Receiver’ para ver se tinha alguma diferença mas também não adiantou : (


Olá @Saory_Emanoelle_Mont,


me parece que algo não está configurado corretamente em seu bot.

Poderia me adicionar na equipe do bot? Use o email: [email protected]

Olá, @rafaelpa!


Acabei de adicioná-lo à equipe com as funções de visualizar e editar. Obrigada pelo surporte!


Olá @Saory_Emanoelle_Mont,


tudo está configurado corretamente em seu bot.

Vamos analisar detalhadamente seu fluxo:


Se o usuário conversar com o bot pela primeira vez vai passar pelo bloco Início e será direcionado para o bloco Boas Vindas



Até ai tudo ok.


Quando o usuário está no bloco Boas vindas, existem 4 possibilidades diferentes:



  1. Usuário enviar Produtos

  2. Usuário enviar Materiais

  3. Usuário enviar Consultor

  4. Usuário enviar qualquer outra coisa.



Se o usuário enviar uma das 3 primeiras opções, ele será enviado para o blocos epsecíficos. Se ele enviar qualquer outra coisa, por exemplo “oi” ele será enviado para o fluxo de Exceções, pois a saída padrão do bloco Boas vindas possui essa configuração.


Dessa forma, se o usuário enviar algo diferente de Produtos, Materiais ou Consultor, de acordo com o seu fluxo ele será enviado para exceções e, por isso, o bot responderá “Desculpe não consegui entender”



Finalmente, se algum usuário alcançar seu bloco de exceções ele será automaticamente redirecionado de volta ao bloco Boas vindas. Isso porque seu bloco de Erro padrão não possui entrada do usuário e possui uma condição de saída padrão para o bloco Boas vindas.




Resumindo:


Tudo está funcionando corretamente, de acordo com o fluxo que você definiu. 😉

O que gostaria que acontecesse com seu bot?

Obrigada pelo feedback!

O problema do meu bot é quando o usuário vai começar a conversa pela primeira vez. Ao invés de dar as boas vindas e dar a chance de o usuário escrever algo que ele não entenda, a primeira resposta do bot ao primeiro contato do usuário é a exceção.

Eu quero que quando o usuário começar a conversa com ele pela primeira vez ele dê as boas vindas, mas no meu caso ele já manda a mensagem de erro direto. Para iniciar a conversa de novo eu excluí todo o histórico dela como se fosse a primeira vez falando com ele mas ainda assim ele não reconhece o ‘oi’.


Hoje, a forma como o seu bot foi configurado, em 100% das vezes, a primeira mensagem que os usuários enviarem serão tratadas pelo bloco boas vindas.


O restante das mensagens, serão tratadas de acordo com o fluxo que você definir.

Estou com o mesmo problema e percebi que, quando você apaga o Bot do Messenger e abre uma nova conversa com o mesmo, o Messenger da a entender que o Bot “reiniciou”, pois a conversa está limpa (e dependendo da configuração do bot o botão Começar aparece novamente), mas na visão do Bot, o usuário ainda está no fluxo.


Existe alguma maneira de saber se o usuário apagou o Bot e começou de novo o fluxo de uma forma simples?


Algumas possíveis soluções que pensei e seus possíveis erros:




  • Colocar um temporizador que ao entrar na exceção, é verificado se o usuário já foi apresentado ao Bot, mostrando uma mensagem de “Bem vindo novamente”, porém não sei como encaixar o “Desculpe não entendi” no meio disso de uma forma ideal;




  • Checar na exceção se a entrada foi Começar para redirecionar ao inicio do Bot novamente, porém isso me parece que pode gerar algum conflito, ou de alguma forma atrapalhar caso o usuário venha a digitar isso no meio do fluxo.



Acho que é interessante lembrar que a maioria das usuários reais dos bots não vão apagar as mensagens, então raramente esse “problema” vai acontecer.


O que você pode fazer é la no bloco de exceções colocar algumas condições de acordo com o que a pessoa digitar em qualquer parte do bot para ser redirecionado para o local certo.


EX: a pessoa apagou a conversa e depois chamou de novo perguntando o preço de um produto: Você coloca na nas exceções uma condição de saída que seja ativada com essa pergunta para que o bot envie a pessoa para a mensagem correta!


É uma opção que eu acharia viável se isso tivesse acontecido comigo, mas em nenhum dos bots que criei notei esse “problema”

Olá @Matheus_Machado,


o comportamento que você verificou é o comportamento esperado, te explico o porquê.


O BLiP gera um identificador para cada usuário em cada canal. Sendo assim, quando o Rafael Pacheco conversa com o seu bot, no messenger, o BLiP cria o identificador [email protected] (apenas um exemplo).


Toda a gerência de estados do Builder é feita baseado no identificador do usuário. Por isso, se ele conversar com o seu bot, chegar ao estado X, por exemplo, e excluir a conversa, no momento em que ele retornar ao bot (clicando no botão começar) ele (usuário) ainda estará no estado X.


Para resolver o problema basta adicionar uma condição de saída no bloco exceção com o conteúdo do botão começar do seu bot.

Nesse caso teria como eu verificar se é a primeira vez que o usuário esta falando algo? Por exemplo, verificar (Se for a primeira vez, entre nesse bloco. Se não entre nesse)"?

Olá @Saory_Emanoelle_Mont,


para saber se o usuário já passou por um ponto do seu fluxo e posteriormente utilizar essa informação basta usar variáveis de contato.


Imagine que você deseja saber se o usuário já passou pelo bloco Boas Vindas.

Para isso, crie uma ação de saída no bloco Boas Vindas, do tipo Definir Contato e crie uma variável no extras do contato com o nome usedWelcome e o valor true, por exemplo.



A partir daí, é possível utilizar a variável usedWelcome como condição de saída de qualquer bloco para definir qual o fluxo do usuário.

Agora sim está funcionando! Obrigada

(Editando pois eu tinha feito uma nova pergunta que acabou sendo resolvida no teste).

Comente