Skip to main content
Pergunta

Validar entrada do usuário: como usar variável na instrução de validação

  • October 21, 2025
  • 6 comentários
  • 62 Visualizações

Marcelo Carveche

Olá, pessoal. Tudo bom?

Problema: meu bot atualmente só processa texto e possuo um volume muito alto de mensagens do tipo mídia, como: áudio, imagem, figurinha etc.

Objetivo: gostaria de validar a entrada do usuário e impedir que ele siga o fluxo enquanto não enviar o input no formato correto.

Encontrei na documentação a opção de validar pelo mesmo bloco onde recebo a entrada do usuário, no entanto, tentei configurar a mensagem que será retornada para o cliente ao enviar um input inesperado e notei que não consigo utilizar variavel dentro deste campo. 

Essa limitação impede que eu utilize uma mensagem armazenada em uma variavel setada conforme o idioma do cliente. Meu bot responde contatos do Brasil, Colômbia e México, então eu preciso setar a mensagem com base no idioma, entende?

Alguém consegue me ajudar?

 

 

6 comentários

Rafael_Figueiredo
Blipper
Forum|alt.badge.img+6

Olá, pessoal. Tudo bom?

Problema: meu bot atualmente só processa texto e possuo um volume muito alto de mensagens do tipo mídia, como: áudio, imagem, figurinha etc.

Objetivo: gostaria de validar a entrada do usuário e impedir que ele siga o fluxo enquanto não enviar o input no formato correto.

Encontrei na documentação a opção de validar pelo mesmo bloco onde recebo a entrada do usuário, no entanto, tentei configurar a mensagem que será retornada para o cliente ao enviar um input inesperado e notei que não consigo utilizar variavel dentro deste campo. 

Essa limitação impede que eu utilize uma mensagem armazenada em uma variavel setada conforme o idioma do cliente. Meu bot responde contatos do Brasil, Colômbia e México, então eu preciso setar a mensagem com base no idioma, entende?

Alguém consegue me ajudar?

 

 

Olá ​@Marcelo Carveche tudo bem ? 

Nesse ponto realmente é uma limitação recomendo até inserir na área de ideias e sugestões. Da para contornar com script e usar o retorno do script para enviar essa mensagem para o usuário com o send message : https://docs.blip.ai/?http#sending-messages


Marcelo Carveche
  • Autor
  • Inspiring
  • 22 comentários
  • October 21, 2025

Olá, pessoal. Tudo bom?

Problema: meu bot atualmente só processa texto e possuo um volume muito alto de mensagens do tipo mídia, como: áudio, imagem, figurinha etc.

Objetivo: gostaria de validar a entrada do usuário e impedir que ele siga o fluxo enquanto não enviar o input no formato correto.

Encontrei na documentação a opção de validar pelo mesmo bloco onde recebo a entrada do usuário, no entanto, tentei configurar a mensagem que será retornada para o cliente ao enviar um input inesperado e notei que não consigo utilizar variavel dentro deste campo. 

Essa limitação impede que eu utilize uma mensagem armazenada em uma variavel setada conforme o idioma do cliente. Meu bot responde contatos do Brasil, Colômbia e México, então eu preciso setar a mensagem com base no idioma, entende?

Alguém consegue me ajudar?

 

 

Olá ​@Marcelo Carveche tudo bem ? 

Nesse ponto realmente é uma limitação recomendo até inserir na área de ideias e sugestões. Da para contornar com script e usar o retorno do script para enviar essa mensagem para o usuário com o send message : https://docs.blip.ai/?http#sending-messages

Não entendi muito bem sua solução para contornar essa limitação. Consegue me explicar melhor, por favoir?

Se eu entendi bem, eu uso a ferramenta “Validar entrada do usuário”, no entanto sem setar uma mensagem. No mesmo bloco, eu incluo um script que processa a entrada do cliente e caso seja um input inválido, então eu envio uma mensagem usando a API, dessa forma, consigo me comunicar em qualquer idioma. É isso?


Rafael_Figueiredo
Blipper
Forum|alt.badge.img+6

Olá, pessoal. Tudo bom?

Problema: meu bot atualmente só processa texto e possuo um volume muito alto de mensagens do tipo mídia, como: áudio, imagem, figurinha etc.

Objetivo: gostaria de validar a entrada do usuário e impedir que ele siga o fluxo enquanto não enviar o input no formato correto.

Encontrei na documentação a opção de validar pelo mesmo bloco onde recebo a entrada do usuário, no entanto, tentei configurar a mensagem que será retornada para o cliente ao enviar um input inesperado e notei que não consigo utilizar variavel dentro deste campo. 

Essa limitação impede que eu utilize uma mensagem armazenada em uma variavel setada conforme o idioma do cliente. Meu bot responde contatos do Brasil, Colômbia e México, então eu preciso setar a mensagem com base no idioma, entende?

Alguém consegue me ajudar?

 

 

Olá ​@Marcelo Carveche tudo bem ? 

Nesse ponto realmente é uma limitação recomendo até inserir na área de ideias e sugestões. Da para contornar com script e usar o retorno do script para enviar essa mensagem para o usuário com o send message : https://docs.blip.ai/?http#sending-messages

Não entendi muito bem sua solução para contornar essa limitação. Consegue me explicar melhor, por favoir?

Se eu entendi bem, eu uso a ferramenta “Validar entrada do usuário”, no entanto sem setar uma mensagem. No mesmo bloco, eu incluo um script que processa a entrada do cliente e caso seja um input inválido, então eu envio uma mensagem usando a API, dessa forma, consigo me comunicar em qualquer idioma. É isso?

@Marcelo Carveche  é isso mesmo ai você pode validar com script e enviar a mensagem no idioma da pessoa com a requisição http. 


Jeo Araujo
  • New Member
  • 1 comentário
  • October 23, 2025
function run(inputType, userLang = "pt-br") {
const messages = {
"pt-br": "Parece que você enviou algo diferente de texto. No momento, só consigo entender mensagens escritas, tudo bem?",
"es": "Parece que enviaste algo distinto de texto. Por ahora solo puedo entender mensajes escritos, ¿de acuerdo?",
"en": "Looks like you sent something other than text. For now, I can only understand written messages, okay?"
};

if (inputType === "text/plain") {
return {
success: true,
message: null
};
}

const response = messages[userLang.toLowerCase()] || messages["pt-br"];

return {
success: false,
message: response
};
}

Você pode resolver isso criando um script parecido com o exemplo acima.
A ideia é simples: Quando o usuário enviar qualquer coisa que não seja texto (imagem, áudio, figurinha, etc.), o script faz a validação do tipo de entrada e retorna uma mensagem informando que só é possível entender mensagens de texto.

Depois, você usa o retorno desse script nas condições de saída do bloco.
Se o run() retornar que não é texto, você redireciona o fluxo para outro bloco que exibe a mensagem:

{{isTextInput@message}}

Assim o bot mostra a explicação pro usuário e, em seguida, volta automaticamente para o bloco de input, permitindo que ele envie um texto válido.


Lucas Ventura
Forum|alt.badge.img+3
  • Specialist
  • 364 comentários
  • October 24, 2025

@Marcelo Carveche bom dia!

Eu prefiro fazer essa validação pelas condições de saída. Eu crio uma condição de saída que seja “Se variável input.content@type  diferente de text/plain” ai vc direciona pra um bloco que informa o texto criado por script (nesse caso vai aceitar qualquer variável). Nesse bloco onde vc vai enviar a mensagem informando sobre o formato, vc coloca a condição de saída abaixo que vai direcionar pro bloco anterior (ou seja, vc faz isso com todos blocos que aguarda resposta do usuário, direcionando sempre pra esse mesmo bloco).

 

 


Marcelo Carveche
  • Autor
  • Inspiring
  • 22 comentários
  • October 24, 2025

Obrigado pelas sugestões, pessoal! 

Vou adotar ambas ideias mas com um redirect para o bot cascata de exceção tratando e trackeando esses casos. Valeu mesmo!