Bot em ambiente de desenvolvimento

Olá amigos,

Como vocês trabalham bom Blip em desenvolvimento, como conseguem desenvolver e testar os bots de vocês enquanto o desenvolvem sem afetar o bot que está em produção?

Bom, começando por uma das soluções, na opção de Testar o bot você pode habilitar o Console, e eu demorei para achar isso:
image
image

Dessa forma você consegue validar suas requisições HTTP, variáveis, etc… top de linha! <3

Mas antes, quando eu não conhecia essa opção, eu desenvolvi um bot de testes (esse dos prints), quando eu aciono meu bot principal e eu envio o menu pro cliente, ele pode escolher entre 6 opções digitando um número de 1 à 6. Porém se eu digitar “teste” eu tratei a condição de saída para apontar pro meu bot de teste. No caso como eu não sabia do Console, eu colocava as variáveis nos inputs do bot, aí as conversas com o bot eram extensas, cheia de JSON, haha…

Daí eu conseguia trabalhar em todas mudanças, etc… nesse bot de testes sem afetar a produção.

Mesmo sabendo do Console, eu continuo usando o bot de testes, porque querendo ou não, eu preciso publicar o bot para que as mudanças surtam efeito.

Infelizmente essa opção do modo debug ainda é bem complicada, pq não dá de isolar os ambientes, ainda mais pq eu preciso, como você disse, publicar o bot, ai fica meio inviável eu estar mexendo em uma parte crítica do bot e fazer essa publicação para testar.

Pensando em fazer parecido com você, exportar o bot e importar toda a lógica para um segundo bot de testes para realizar os testes e assim que ele estiver ok, re-importar para o bot em produção, mas ter que fazer isso é extremamente oneroso e sujeito a falhas, por isso a pergunta se vocês utilizam alguma outra prática mais eficiente.

Essa questão de apontar para o bot de testes, vc usa um router pra isso?

De fato, eu ainda não precisei de trabalhar em um subbot complexo, sempre trabalho em partes pontuais e depois exporto as novidades e correções. Então eu não chego a exportar e importar o conteúdo do bot em nenhum momento, o que causa ainda mais trabalho. Mas são rotinas pontuais que não me custaram muito esforço até o momento.

Sim, uso router.

Vamos aguardar outros comentários, eu também gostaria de saber se tem alguma outra forma mais eficiente para testes, talvez até mesmo o pessoal da BLiP pode nos sugerir algo.

1 Curtida

Show, Obrigado pela resposta Gabrielzão.

Ola,

Em nosso caso, temos toda a estrutura duplicada, entao um conjunto de router+sub-bots no ambientes de produção e o mesmo ambiente router+sub-bots para o ambiente de homologação.

Assim conseguimos testar mudanças sem que haja impacto em nossa operação

Talvez exista a necessidade desse teste rodar em todos os canais. Se for esse o seu caso, você ativou um número de whatsapp para homologação ?

e mais, depois de aprovado uma alteração, como você aplica? Exporta o JSON de config e Importa no Bot Oficial?

Na cara e coragem, como diria alguns?

Oi Gabriel,

Sim, hoje todos os testes são manuais e não ativamos o canal do WhatsApp para homologação, porém como utilizamos o exato mesmo fluxo para WhatsApp e Chat, já sabemos quais são os pontos que vão ser alterados entre esses canais, então “não se pagou” contratar um número somente para homologação, que hoje fazemos toda via Blip Chat e em alguns via Telegram.

Porém conheço outras empresas que trabalham com NLP (que ainda não é o nosso caso) que viram a necessidade de ter sim um número de WhatsApp para fazer essas homologações.

Hoje a publicação para produção sim, exportamos o JSON e incluímos no oficial, os parâmetros “únicos” como chaves de acesso, tokens e tudo ficam como variáveis globais, então não quebra nada.

Porém fazemos a validação toda novamente em produção para garantir que nada quebrou.

2 Curtidas

Obrigado pela sugestão, usei esse formato recentemente. :smiley:

Abraços!