Skip to main content

Olá!



Eu possuo um fluxo cheio de opções e menus, como este:



Menu



Menus bem visuais e fáceis de entender, porém, há um problema que enfrento que traz vulnerabilidade pro meu chat.



A primeira interação que o usuário faz é perfeita segue para o fluxo pré-determinado, mas como o histórico da conversa fica salvo no chat, o user consegue interagir mais de uma vez com o mesmo menu, o que se acontecer buga o chat.



Queria saber se tem como eu fazer o chat reconhecer essa 2° interação com o menu de determinado fluxo e a partir disso seguir para o fluxo correspondente.



Ou se a partir do momento que fosse selecionado da primeira vez o menu se reduzisse a apenas uma opção igual acontece no Quick Reply:



image



image

Bom dia @Kaue . Seja bem vindo a nossa comunidade 😃



Uma solução que eu utilizo quando tenho este tipo de problema é o seguinte:



Nesse fluxo simples fiz um exemplo, dê uma olhada em todas as caixinhas, nas condições de saída e tente enteder… o processo é bem simples mesmo. Nada complexo. Se ainda ficar com alguma dúvida só falar aqui que tento ser mais específica!!



Mas basicamente quando o usuário der qualquer “Input inesperado” mesmo que seja do menu da primeira interação ele vai retornar ao menu pra que ele tenha a possibilidade de clicar na opção que deseja!



Agora, se você utiliza regex vai precisar criar uma variável e adapatar a configuração de saída do bloco de input.



exceptions10.json (10,5,KB)


Boa Tarde @Aline_Camargos. Obrigado pela ajuda!!



Veja se eu entendi direito, por favor.



Basicamente eu teria que colocar uma validação dessa em cada entrada do user, analisando se “da match” com alguma das opções do menu, e caso não dê ele vai ser mandado pro fluxo que ele parou ao invés do inicio de todo o atendimento, é isso?



Agora, então não teria como eu fazer o chat reconhecer que quando o user interagir uma segunda vez com um menu anterior, ele quer pegar a informação referente a esse outro fluxo que ficou pra trás correto? 😅


Se caso não der match com nenhuma opção do menu é considerado um input inesperado, a partir disso você trata ele como quiser, ou enviando ele pro menu novamente como exemplifiquei ou pode redirecionar ele pro inicio onde ele vai começar todo o atendimento de novo. Daí depende mesmo de como você quer tratar isso no bot.



E sobre a segunda pergunta… é o mesmo menu independente se ele clicar no primeiro ou no segundo. Isso porque apontamos para o mesmo bloco. Então a informação sempre será do mesmo menu.


Aline estou com essa mesma questão e com dificuldade de colocar seguindo seu script no meu fluxo. Pode me ajudar?


Bom dia @CamilaEspecio , esse exemplo que coloquei acima é específico para este caso. Dai no seu bot é necessário validar o regex da maneira que você queira… poderia dar mais detalhes?


Posso sim, tenho esse fluxo aqui




Esse menu é só para eu pegar os “assuntos” nos eventos personalizados. O próximo bloco é para o usuário digitar a dúvida dele.


Queria que toda vez que o usuário clicasse pela segunda vez nesse menu, aparecesse o menu e não desse sequencia ao fluxo.


Boa tarde!! @CamilaEspecio, tudo bem? Espero que sim.



Sobre o seu problema o acho que o que a @Aline_Camargos descreveu lá em cima é o que você procura.



No meu caso eu dividi o menu do input e criei um bloco de validação(Validates) desse input onde há uma condição de saída que se o input for diferente de qualquer uma das opções do menu ele o “Validate” enviará a pessoa para o menu novamente.



image



Acredito ser isso que você procura, igual ao que a Aline disse lá em cima, se não tiver conseguindo com o regex, você pode inserir as opções uma a uma.



Não sei se expliquei bem, mas qualquer dúvida pode falar


Ainda estou confusa! Eu crio condições para cada opção do menu?


@CamilaEspecio você pode criar isso nas opções de saída do bloco com as opções do menu ou por script. Se a quantidade for maior o melhor é criar um script pra reconhecer casa opção do menu, se for diferente das opções é considerado input inesperado.


Nessa estrutura aqui , eu coloco as opções em qual bloco? No bloco input?



Neste caso você pode criar um bloco depois do validar pegando o input.content e fazendo as condições de saída baseado nesta variável


Se vc tiver um tempinho, juro 15 minutos no máximo, consegue entrar: meet.google.com/xbj-jqbf-tmy


@CamilaEspecio você quer que dependendo da opção que o usuário digitar redirecionar ele para algum lugar? Ou validar este input?


Entra aqui rapidinho https://meet.google.com/xbj-jqbf-tmy


Não consigo entrar por esses dias @CamilaEspecio, se puder ser mais específica. Esses dias tô com demandas demais por aqui rs


Só queria que se o usuário clicasse no menu que já apareceu ele voltasse a aparecer e não seguisse o fluxo.



Esse é o bot BLiP Chat



Se ele seguir o fluxo certinho OK, mas o usuário vai ver que da para clicar no menu mais de uma vez e bug.



Esse menu é só para pegar o evento.


Então @CamilaEspecio, infelizmente não dá pra evitar que o cliente clique no menu acima.



O que pode ser feito é que nem coloquei no fluxo que enviei pro @Kaue. Uma vez que o menu aparece o cliente clica na opção correta, segue o fluxo, mas por algum motivo clica no menu acima ao inves do caminho feliz, é pegar esse input considera-lo como inesperado e fazer com que o menu apareça novamente para que o cliente tenha a possibilidade de clicar na opção correta.



exceptions10.json (10,5,KB)




Eu fiz de um jeito mais complicadinho, porém dá uma contornada na situação. Estou criando blocos de validação para todos e se o usuário clica no menu de novo volta para o mesmo bloco. Forço ele a seguir meu fluxo. De qualquer forma obrigada 🙂


Bom dia @CamilaEspecio , isso também é uma opção 😃 . Mas que bom que conseguiu !!! Precisando estamos aí !!


eu que agradeço a paciência 🙂


Comente