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