Histórico de conversas com Integromat

Telegram

Leonardo Souza
Bots Brasil
4 min readJul 15, 2019

--

O Telegram é um aplicativo de mensagens instantâneas. Para criar um bot no Telegram é necessário procurar por @botfather e enviar os seguintes comandos:

Com isso será preciso informar o nome e o username do bot. Em seguida o Botfather retorna com um token (guarde ele pois iremos precisar).

Watson Assistant

O Watson Assistant (antigo Watson Conversation) é a API do Watson para a criação e desenvolvimento de interfaces conversacionais, ou chatbots. Este serviço possui uma interface simples e intuitiva para que profissionais não-técnicos possam usufruir de todos os recursos disponíveis, de forma simples e rápida.

Orquestrador

O orquestrador tem a função de coletar as mensagens enviadas pelo usuário, tratar se necessário, enviar ao bot, coletar a resposta do bot e enviar esta resposta ao usuário. O orquestrador utilizado foi feito usando node.js e hospedado no firebase.

Para estes dois tópicos a cima foi usado o bot e o orquestrador mencionados no seguinte artigo “Controlando um Arduino com Watson Assistant

Integromat

Aplicativo que permite realizar a sincronização de diversas aplicações incluindo Google Sheets, Telegram, entre outros, além de fazer requisições como POST e GET. Utiliza-se o sistema de módulos, onde cada aplicação que será usada é um módulo e para interliga-los basta usar linhas.

Para criar um novo cenário (scenario) vá em “+ Create a new scenario” e busque por Telegram, Google Sheets, HTTP e JSON. Selecione estes módulos e clique em “Continue”.

Primeiro iremos precisar do módulo do Telegram, para isso selecione o módulo do Telegram e procure a opção “Watch updates”. Para monitorar um bot específico é necessário inserir o Token fornecido pelo Botfather, então clique em “Add” para adicionar um novo Webhook (ao criar este Webhook é possível utilizá-lo em qualquer outro módulo), cole o Token no campo especificado e salve.

O segundo módulo é o HTTP que irá fazer uma requisição, selecione este módulo nos seus favoritos (se este não aparecer vá em “+” e procure por ele), cole a url gerada pelo firebase functions em URL, selecione o método POST, e Application/x-www-form-urlencoded no Body type, adione em Fields uma KEY com o nome de context, o value deixe vazio, o outro item é o input e o value é a mensagem recebida pelo telegram.

módulo HTTP usando o método POST.

A resposta desta requisição é formato JSON, então adicione o módulo JSON do tipo Parse JSON no cenário. Crie uma estrutura de resposta para este módulo e no campo de “JSON string” adicione a opção “Data” da requisição HTTP. A figura abaixo mosta todas as opções de variáveis disponíveis para serem usadas.

configuração do módulo JSON

Como o Integromat não acessou o orquestrador ainda, ele não consegue pré configurar a estrutura de resposta do JSON, logo, para coletar a resposta do bot iremos rodar o cenário. Adicione mais um módulo do Telegram mas desta vez com o tipo de “Send a text message or a reply”. Use a conexão criada no primeiro módulo. O chat ID está disponível nas variáveis do sistema. Como teste iremos enviar apena um OK!

Módulo do Telegram Bot

Vá em “Run once” e envie uma mensagem para o seu bot do Telegram. Agora é possível coletar a resposta do orquestrador, então em Text selecione a variável do JSON “output:text[1]”. Com isso o bot irá responde com as respostas configuradas no Watson Assistant.

Módulo do Google Sheets que salva as informações do usuário.

Para salvar as mensagens do chat crie uma nova sheet no seu Google Drive e adicione os itens Origem, Data e Mensagem nas colunas desta sheet. De volta ao Integromat, entre os módulos JSON e Telegram Bot clique com o botão direito na linha que liga os dois e selecione “Add a router”. Agora adicione o módulo Google Sheets com a opções de “Add Row”, e ligue com o router, crie uma conexão usando a sua conta da Google e selecione a sheet para salvar as mensagens, em Value irão aparecer os campos Origem, Data e Mensagem, neste módulo a origem será do usuário. As informações que serão preenchidas na sheet estão representadas na imagem ao lado.

Abaixo está o outro módulo de Google Sheets que irá adicionar a sheet a resposta do bot. No campo Mensagem é usado a variável obtida da requisição feita ao orquestrador.

Módulo do Google Sheets que salva as informações do bot.

Abaixo está representado o resultado do cenário.

cenário final criado no Integromat.

--

--