Como Como validar uma condição de saída específica em todas as entradas do usuário, ultrapassando até mesmo o regex?

Olá boa tarde! Tive a mesma dúvida do colega desse link: [Resolvido] Como validar uma condição de saída específica em todas as entradas do usuário?

consegui resolver o problema, porém quando o bloco possui algum regex eu não consigo cancelar, só consigo avançar nos blocos que não possuem regex, tem alguma alternativa para isso? Ou eu só consigo sair quando nao tiver regex?

Olá @Rodrigo_Bins_Gomes. Muito boa sua dúvida! Conseguiu avançar neste caso?

A Validação de entrada de usuário, aquela que você coloca clicando no balãozinho azul da entrada de usuário é bloqueante mesmo. Ou seja, enquanto o usuário não digitar o que a validação espera (no seu caso que dê match com o regex) o usuário não sai do bloco.

Uma maneira de contornar isso é remover essa validação nativa e fazê-la através de um javascript, onde ele recebe a entrada do usuário e tenta dar match com esse mesmo regex. Caso seja positivo, ele segue para o bloco normalmente, caso seja negativo, você pode decidir o que fazer - se enviar para o bloco de exceções ou se para solicitar que ele informe a mensagem corretamente para se encaixar na validação.

1 Curtida

Ei Bruno boa tarde! Tentei seguir a sua sugestão porém não estou conseguindo avançar, eu executo o seguinte script:

function run(entrada) {
if (entrada == “ola”) return “foi”;
else return “não foi”;
}
Eu estou usando a variável de entrada input.message

e o bot só me retorna não foi, mesmo eu copiando e colando o ola. Eu ainda não tentei com o regex, tentei essa entrada simples e não estou conseguindo.

Olá @Rodrigo_Bins_Gomes

No lugar de input.message tente usar input.content.

Você também pode salvar em uma variável e depois usar a variável.

Obs.: O input.message retorna um objeto JSON de uma mensagem, com todos os atributos, como no exemplo abaixo.

{
   "type":"text/plain",
   "content":"olá",
   "id":"f6395d12-8d21-4bbb-ba08-92e77892dcc8",
   "from":"43aa58d9-364e-4aaf-8ffb-2834d853e94f.asdasd10@0mn.io/default",
   "to":"asdasd10@msging.net",
   "metadata":{
      "date_created":"1600192466004",
      "uber-trace-id":"a29b13e2835fb2ce%3Aa29b13e2835fb2ce%3A0%3A1"
   }
}

Se você for usar o input.message, use input.message@content

Este tópico foi fechado automaticamente 7 dias depois da úlima resposta. Novas respostas não são mais permitidas.