15 de novembro de 2021

Criando um bot no Telegram

Alguns anos atrás fiz um bot no Telegram e me surpreendi como é simples e rápido fazer utilizando Python. O Telegram fornece uma API para seus bots e há varias bibliotecas em diversas linguagens para interagir de maneira simples com esta API. A primeira coisa que precisamos fazer é acessar o @BotFather e solicitar a criação de um novo bot.

Após seguirmos as instruções e configurarmos o nosso bot receberemos um token que será utilizado por nós mais a frente.

Para interagirmos com a API de bots do Telegram usaremos a biblioteca python-telegram-bot. Após instalar a biblioteca podemos fazer um simples script que é equivalente ao "Hello World!" dos bots do Telegram:

O script é simples, lemos o token de uma variável de ambiente (você também poderia colocar direto no código, mas não recomendo fazer isso) e criamos os objetos do Telegram para subir o nosso bot. Na linha 15 fazemos o registro da função que irá responder um comando ao bot, nossa função é bem simples e apenas  faz o envio de uma mensagem de texto. Após a configuração do bot iniciamos o polling, ou seja, o script fica ouvindo se há mensagens novas para responder. Assim entramos em nosso bot, enviamos o start e já recebemos a mensagem:

Como podemos ver acima, recebemos o retorno conforme esperado. Como o handler é uma simples função Python nós podemos agora fazer algo mais complexo. Vamos expandir criando um novo handler para buscar o nome da rua dado um determinado CEP, utilizando a biblioteca requests que já utilizamos antes em outros posts:

Para usar a nova funcionalidade do bot basta enviar o comando /cep CEP e ele irá retornar o CEP buscado na API do ViaCEP. 

No manual da biblioteca e também no BotFather é possível encontrar muitos outros recursos que podem ser definidos para o bot, vale apena a leitura caso esteja pensando em fazer algo mais avançado.

Nenhum comentário:

Postar um comentário