Os bots ou robôs virtuais são aplicações computacionais programadas para realizar, de forma autônoma, uma tarefa previamente determinada. Esses programas podem ser usados em diversos contextos e para finalidades distintas. Com isso, essa publicação apresenta o desenvolvimento de um robô virtual capaz de facilitar inúmeras atividades cotidianas.
Os chatbots constituem uma das aplicações mais comuns para os bots. Eles têm sido cada vez mais usados em lojas virtuais para atendimento dos usuários. Trata-se de um robô previamente parametrizado e programado para interagir com um cliente, simulando uma conversa humana por meio de um chat. Dessa forma, o atendimento às requisições é simplificado, trazendo benefícios aos vendedores e para seus clientes.
O desenvolvimento de chatbots pode ser feito baseado em instruções pré-definidas ou por Inteligência Artificial (IA). O primeiro modo é mais limitado, pois apresenta um vocabulário restrito, aumentando as dificuldades de interação com o usuário. Por outro lado, um chatbot baseado em IA consegue estabelecer a comunicação de forma mais fluida, sem tantas limitações ou interferências humanas. Apesar do uso dos bots trazer questionamentos sobre a substituição do trabalho humano e o aumento do desemprego, essas ferramentas tendem a facilitar a execução das tarefas, evitando a realização de tarefas repetitivas.
No contexto empresarial, a aplicação de chatbots pode trazer benefícios, como aumento na velocidade de atendimento, interações simultâneas, redução de custos, maior disponibilidade para a realização de atendimentos, entre outros. Além de trazer facilidades ao ambiente corporativo por meio da desburocratização e automatização de processos, essa ferramenta computacional pode ser usada para a realização de tarefas individuais de forma simples e gratuita. Assim, mesmo sem conhecimentos prévios a respeito de linguagens de programação, é possível desenvolver um bot capaz de enviar fotos, vídeos, textos, dados, entre outros.
Antes de começar a criar o robô virtual, é aconselhável definir qual o objetivo a ser alcançado através do bot. Para isso, é importante criar uma lista de funções que a aplicação deverá ser capaz de cumprir.
Há muitas formas distintas para desenvolver um bot. O Telegram permite a criação de robôs virtuais de forma simples e rápida. Para facilitar esse procedimento, pode ser feito o uso da plataforma Integromat a qual apresenta interface gráfica de fácil utilização, capaz de conectar o bot a aplicativos e serviços, como Facebook, Youtube, Discord, Tumblr, Instagram, Uber, entre outros. Ressalta-se ainda que, com o uso dessa plataforma, não há a necessidade de codificação.
O bot apresentado neste tutorial tem como função adicionar eventos na Google Agenda sem a necessidade de fazer o login nos serviços da Google. Desse modo, para realizar o cadastro de eventos e tarefas através do bot, é necessário lhe fornecer instruções. A fim de cumprir com tal requisito, utiliza-se o serviço de aplicação de mensagens instantâneas Telegram. Por meio desse robô virtual consegue-se simplificar a pequenos passos uma atividade que é, por vezes, tediosa. Sem mais delongas, vamos partir para a criação do bot!
Iniciando o uso do Botfather Iniciando a comunicação com o Botfather
Digite “BotFather” na barra de pesquisa do Telegram e encontre a aplicação do Telegram responsável pelo desenvolvimento de bots. Quando abrir o chat, clique em “Começar” ou digite /start. Quando a conexão com o “BotFather” for iniciada, digite /newbot para criar o seu bot.
Configurações iniciais do bot
Após criar o bot, dê-lhe um nome e o nome de usuário. Por conseguinte, o BotFather lhe fornecerá um Token, responsável pela identificação do bot. Por último, copie o token e mantenha ele em algum lugar de fácil acesso.
Antes de dar prosseguimento à etapa anterior, crie uma conta no Integromat , plataforma que permite a integração entre bots e diversos serviços. A primeira imagem que aparecerá depois do cadastro e login é a seguinte:
Página inicial do Integromat
Para criar uma nova aplicação, clique em Create a new scenario:
Posterior a isso, a tela apresentará as opções de serviços que podem ser utilizados. No caso dessa aplicação, selecione apenas o Telegram Bot e o Google Calendar usando a barra de pesquisa. Em seguida, clique em Continue.
Barra de pesquisa para os serviços
Após escolher o Google Calendar e o Telegram, clique em Continue. A primeira tela que aparecerá será a seguinte:
Seleção do primeiro programa
Como se pode visualizar na imagem acima, há um círculo com uma interrogação seguido de um relógio. Esse sistema será o Trigger ou gatilho, responsável por perceber mudanças no processo e, com isso, realizar uma ação.
Escolha do programa a ser adicionado
No exemplo em questão, o gatilho será a mensagem enviada para o bot pelo chat do Telegram. Assim, o primeiro bloco a ser escolhido é o Telegram Bot.
Configuração inicial do bloco Telegram
A tela seguinte será como a mostrada na imagem acima, entre as opções presentes, pressione Watch Updates. Isso deve ser feito para criar uma aplicação que funcione sem interrupções indesejadas. Caso essa escolha não fosse feita, a aplicação funcionaria em um tempo previamente definido pelo usuário na seção do relógio.
Esse bloco vai ativar o I_ntegromat_ sempre que houver alguma atualização.
A partir desse momento, é necessário realizar a conexão entre a aplicação no Integromat e um bot existente no Telegram.
Conectando o bot ao Integromat
Ao clicar nessa opção, inicia-se o processo de cadastramento do bot criado anteriormente no BotFather. Esse passo tem início ao clicar em Add e escolher um nome. Depois, deve-se clicar em Add novamente para adicionar uma conexão com o bot.
Adicionando o token do bot
Em seguida, clique novamente no botão Add que aparecerá nas próximas duas janelas. Com isso, será possível definir o nome da conexão no espaço Connection Name e colocar o Token, obtido após a criação do bot, para que ele possa ser identificado.
Posterior a isso, clica-se em Save para salvar a conexão estabelecida com o bot. Agora, é necessário criar ou deixar explícito para a aplicação a partir de qual evento ela deve atuar.
Para explicitar sobre qual evento a aplicação deve atuar, aproxime o cursor do mouse do primeiro módulo e clique em Add another module.
O próximo passo será adicionar um outro módulo e conectar ao primeiro do Telegram. O próximo módulo a ser adicionado será o de Tools (canto inferior esquerdo da tela).
Ao clicar em Tools, será aberta uma série de opções possíveis, como se pode visualizar na imagem abaixo. Será usado um bloco capaz de salvar valores em variáveis.
Adicionando o bloco de ferramentas
Como dito anteriormente, para fins de se armazenar o valor das variáveis, escolhe-se a opção Set variable. O passo seguinte busca criar um vetor com a mensagem do telegram enviada pelo usuário, de modo que os elementos do vetor serão separados por espaço, exemplo: Vamos super que a mensagem recebida pelo bot seja:
festa 23/11/2020 15:40
Os elementos que devem ser salvos em um vetor são:
Para fazer isso, conecte os dois blocos (Telegram ---> Tools):
Conexão entre o bloco Telegram Bot e o Tools
Depois de conectar os dois blocos, faz-se necessário configurar o bloco Tools para que o objetivo almejado se concretize (separar as informações da mensagem em vetores separados por espaço).
Por fim, altere o Variable lifetime de One cycle para One execution e renomeie o Variable name para Mensagem.
Concluindo a configuração do bloco de ferramentas
Uma vez terminada a configuração do bloco Set variable - Tools, é importante conectar esse conjunto a um bloco do bot do Telegram para que haja a percepção do efeito criado através do conjunto anterior.
Realizando teste
Escolha a opção Send Text Message or a Reply para que o bot responda com uma mensagem de texto quando houver o gatilho.
Conectando os blocos
O resultado é mostrado na figura acima após conectar o novo bloco do Telegram Bot. Para prosseguir com esse teste, configure o bloco de modo que se preencham os campos de Chat ID e Text como mostrado na figura abaixo:
Configurando o bloco Telegram
Com a configuração feita, aperte o OK, salve a aplicação e clique em Run Once. A partir desse momento, você pode enviar mensagens para o bot no Telegram. O Run Once não permite que o bot funcione para sempre, mas faz o bot funcionar somente uma vez e depois a aplicação para (recomendado para a fase de testes da aplicação).
Uma vez clicado, o funcionamento pode ser visto no chat do bot no Telegram, digitando um texto no seguinte formato:
/nomeDoEvento data hora
Caso ainda tenha dúvidas, siga o modelo mostrado na figura abaixo:
Assim, percebe-se como o bot respondeu conforme as configurações feitas previamente.(O robô virtual está salvando o primeiro elemento “cortarCabelo”, o segundo elemento “05/02/2021” e o terceiro “14:00h”, todos separados por vírgula.
O próximo passo é separar essa informação/elemento e salvar numa variável. O primeiro elemento é o nome do evento e, para separar e salvar em uma variável, o seguinte procedimento deve ser seguido:
É necessário adicionar um Set variable, o qual pode ser encontrado na aba de Tools, logo após o primeiro que já havia sido construído nessa aplicação. Para desfazer as conexões entre os blocos, clique com o botão direito e pressione unlink. Então, mova blocos e os ajuste desta maneira:
Disposição dos blocos
Com a disposição dos blocos ajustada, é necessário configurar esse novo bloco Set variable - Tools. Para isso, preencha-o com as informações presentes na figura abaixo.
Configurando novo bloco de ferramentas
Por meio desse bloco, cria-se uma variável que armazena o valor resultante do primeiro elemento da informação anterior, ou seja, nomedoEvento. Caso haja dúvidas em relação a função slice, consulte a referência disponibilizada pelo suporte do próprio Integromat.
A função slice recebe como parâmetro uma string (palavra) e os índices que demarcam qual elemento a função deve armazenar. Como inicialmente só se deseja salvar o nome do evento, faz-se uso dos números 0 e 1. Isso se deve ao fato de que o elemento de índice zero é o nomedoEvento, o primeiro elemento é a data e o segundo elemento é o horário.
Antes de prosseguir para o próximo passo, a aplicação será testada. O último bloco do Telegram Bot deve ser configurado de modo que o campo Text apresente a seguinte informação:
Configuração de texto do bloco Telegram Bot
Depois dessa configuração, salve a aplicação e aperte o botão Run Once de novo. Posteriormente, envie a mensagem anterior “/cortarCabelo 05/02/2021 14:00” ao bot e, se aparecer uma caixa de diálogo, clique em listen for new.
Após o entendimento sobre como extrair o primeiro valor, pode-se repetir o processo, de forma análoga, para extrair o segundo e o terceiro. Para isso, criam-se mais dois blocos Set Variable de modo que a disposição física da nossa aplicação fique conforme a figura abaixo no Integromat.
Disposição dos serviços
Para configurar os blocos Set Variable - Tools seguintes, segue-se o mesmo procedimento realizado para armazenar o primeiro valor:
Configuração do terceiro bloco de ferramentas
Em dataEvento colocamos os parâmetros 1 e 2 para armazenar a informação da data.
E, no último, colocam-se o 2 e o 3, objetivando armazenar a informação do horário do evento.
Configuração do quarto bloco de ferramentas
Ao finalizar a configuração de todos os blocos Set Variable - Tools, é necessário configurar novamente o bloco do bot. Alterando o conteúdo do campo Text como mostrado na figura a seguir:
Configuração do último bloco Telegram Bot
Em seguida, salve a aplicação, aperte Run Once e inicie a conversa com o bot pelo chat do Telegram.
A resposta esperada ao enviar “/cortarCabelo 05/02/2021 14:00” é a seguinte:
Isso demonstra que cada informação foi salva por três variáveis distintas. Ou seja, a mensagem foi subdividida em partes distintas as quais foram armazenadas em variáveis diferentes.
Antes de prosseguir, percebe-se que já foram feitas as seguintes etapas: configurou-se a aplicação para obter a mensagem fornecida pelo usuário através do chat do Telegram, armazenando-a em blocos separados (nome do evento, data, horário).
Por último, após separar as informações, extraem-se os seus respectivos valores. Nesse momento, com o tratamento dos dados envolvidos no processo concluído, faz-se necessária a criação do evento. Em busca disso, é preciso colocar os valores de data e hora num formato específico aceito pelo Google Agenda.
[mes/dia/ano][espaço][hora-+fuso]
Exemplo:
05/02/2021 14:00-03:00
Esta data pode ser lida como 2 de maio de 2021 às 14:00h no fuso horário GMT -3 (que é o fuso horário no Brasil)
Como colocar as informações em um formato específico? Para isso, novamente, cria-se mais um bloco Set variable. Este último bloco vai usar as variáveis horaEvento e dataEvento para criar uma nova variável com o formato adequado para o Google.
A disposição física dos blocos deve ser idêntica à mostrada na imagem abaixo:
Disposição dos blocos
Para que o funcionamento ocorra corretamente, o último bloco deve ser configurado desta forma:
Configuração do último bloco de ferramentas
A função to string converte os valores para o formato string e, por meio desse bloco, há a adição de um espaço e do fuso horário referente à localização atual. Por fim, ao apertar OK, há o salvamento em uma variável toCalendar.
Novamente, retorne à conversa com o bot e observe a diferença entre os formatos da mensagem anterior à conversão e presente:
Há a possibilidade de inserção de novos formatos de data e horário quando houver o envio da mensagem para o bot.
A data pode ser expressa das seguintes formas:
A hora pode ser expressa de duas formas:
A forma escolhida para prosseguirmos com a construção da aplicação é a seguinte:
dia.mes.ano para data. hora:minuto[12h] para horário.
Logo, uma forma de marcar o evento pode ser:
/cortarCabelo 01.02.2021 15:00
Agora, deve-se colocar o bloco que adiciona o evento no Google Calendar.
Configurando o bloco Google Calendar
Selecione o bloco Create an Event e posicione-o entre o bloco Set variable, onde foi criada a variável toCalendar, e o bloco Send a text message or a Reply do Telegram, como na imagem abaixo:
Disposição dos blocos após a adição do Google Calendar
Agora vamos configurar o Google Calendar - Create an Event.
Após clicar nele, no campo Connection, pressione Add.
Estabelecendo a conexão entre a aplicação e a conta no gmail
Depois de clicar em Continue, haverá a abertura de uma janela destinada a receber as informações da conta Google e conectar o Calendário Google ao Integromat.
Em seguida, é necessário preencher os seguintes campos:
Em Calendar ID, selecione o calendário onde o evento será adicionado. Caso esse seja o primeiro calendário criado, deve-se pressionar a opção Primary Calendar.
Em Event Name coloque a variável criada anteriormente nomeEvento.
Em Start Date e End Date coloque a variável toCalendar.
Depois dessa etapa, o bot está pronto para uso. Apesar dele já estar funcionando normalmente, é preciso adicionar uma mensagem no último bloco de modo a garantir e certificar de que o bot emita um alerta de sucesso como “Evento adicionado”.
Configuração da confirmação do evento
Vamos ver se o evento está finalmente sendo criado agora?
Salve a aplicação e aperte o botão Run Once. Feito isso, converse com o seu bot no Telegram de modo a enviar as informações do evento.
Parece que funcionou, certo? Vamos observar se o evento foi criado!
Evento criado no Google Calendar
Como pode ser visualizado na figura acima, o evento foi adicionado no Google Calendar no dia e hora em que especificados ao bot. A fim de que esse funcionamento permaneça de forma ininterrupta, é necessário ligar o bot para que ele funcione sem a necessidade de pressionar o Run Once a cada execução. Para isso, é preciso ligá-lo no botão-chave, localizado logo abaixo do botão Run Once.
Após isso, é possível definir um nome para a integração no canto superior esquerdo, clicando sobre o nome e alterando seu valor.
Posteriormente, salve o seu projeto para finalizar clicando no disquete na aba Controls.
Salvando o projeto
Ao receber a mensagem de confirmação, é possível retornar à página inicial e o bot criado já está funcionando. Assim, a criação de eventos no Google Agenda pode ocorrer pela comunicação com o bot pelo Telegram.
Checagem do funcionamento
Ressalta-se que, se houver algum erro de escrita ou formatação durante a troca de mensagens com o bot, será necessário ativá-lo novamente no Integromat. Isso se deve ao fato de que, para não aumentar a complexidade da aplicação, não houve o desenvolvimento de uma possibilidade para tratar erros.
A partir desse manual, o(a) leitor(a), independente do nível de conhecimentos prévios, pode compreender o que são os bots, bem como a capacidade desse tipo de aplicação em solucionar problemas estruturados, programáveis e parametrizados. Além disso, o(a) leitor(a) consegue desenvolver um robô virtual capaz de reduzir uma atividade mecânica para o envio de uma mensagem no chat específico.
Apesar do manual inserir os robôs virtuais em um contexto específico (adicionar eventos na Google Agenda), o procedimento para construir outros bots, que possam exercer funções distintas, segue as mesmas diretrizes apresentadas quando se faz uso de uma integração entre o Integromat e o Telegram.
Por fim, não se esqueça de comentar sobre nossa publicação, colocar as suas dúvidas e nos trazer sugestões para posts futuros.
[GUIA Completo] Chatbot: o que é, como funciona, benefícios e cases. [S. l.], 30 out. 2019. Disponível em: https://take.net/blog/chatbots/chatbot. Acesso em: 1 fev. 2021.
Tutorials | Integromat. [S. l.], 2012. Disponível em: https://www.integromat.com/en/kb/tutorials.html. Acesso em: 1 fev. 2021.
Telegram API. [S. l.], 2013. Disponível em: https://core.telegram.org/api. Acesso em: 1 fev. 2021.