Bot no Telegram: Passo a passo da criação em Python

Image for Bot no Telegram: Passo a passo da criação em Python

O intuito desse artigo é mostrar de forma simples como fazer um bot no Telegram. Para isso, vamos montar, passo a passo, o assistente virtual que será responsável por consultar uma API e nos retornar quantas pessoas estão no espaço, quem são elas, e em qual espaçonave elas se encontram.

Para acompanhar o tutorial, é recomendado ter uma noção básica de Python.

Por Caio Zovaro, Desenvolvedor da Sinch.

O BotFather

Primeiramente, para criar nosso assistente virtual, nós utilizaremos a ajuda de um outro bot, que auxilia na produção de novos bots, bem como na edição de bots existentes. O nome dele é BotFather.

Para iniciar uma conversa com ele basta procurarmos por @BotFather no Telegram, enviarmos o comando /start e este comando retornará uma lista com todos os comandos que o BotFather é capaz de executar.

Entre eles, temos o /newbot, que é o comando necessário para criarmos nosso novo assistente virtual. Utilizando este comando, o BotFather fará duas perguntas básicas:

1 – Como o bot vai se chamar?

2 – Qual será o username do bot?

Respondendo esses questionamentos, o BotFather nos retornará uma mensagem contendo o access token do bot. Copie este access token e vamos armazená-lo.

Armazenando o Access Token

Tendo o Access Token em mãos, vamos armazená-lo em um variável de ambiente, para que ele possa ser acessado através do nosso script Python. Para isso, basta digitar o seguinte comando no terminal:

export SPACE_BOT_TOKEN=”Access Token aqui” Pronto, agora já temos nosso Access Token armazenado e podemos acessá-lo através do nosso script.

Implementando o bot no Telegram

A fim de facilitar a implementação, vamos utilizar uma biblioteca chamada pyTelegramBotAPI. Esta API possui decoratorsI que facilitam nosso trabalho na hora de identificarmos qual tipo de tratamento devemos dar a cada mensagem enviada pelo usuário. Instale a biblioteca com o pip: pip3 install pyTelegramBotAPI. Agora, vamos começar a implementação. Primeiramente, devemos inicializar nosso bot utilizando a API:

Aqui, fazemos os imports necessários e, depois, inicializamos o assistente virtual com um comando simples na linha 7.

Em seguida, vamos criar duas funções: uma de apresentação do bot e outra para retornarmos ao usuário quantas pessoas estão no espaço neste exato momento.

Assim, as linhas 10 e 17 temos os decorators que, neste caso específico, estão indicando ao nosso bot quais funções devem ser executadas dependendo do comando que o usuário utilizar.

Além disso, a função send_start_message na linha 11 envia uma mensagem simples ao usuário explicando o que o bot faz. Em seguida, a função send_people, na linha 17, envia para o usuário a quantidade de pessoas que estão no espaço e quem são elas. Para isso, utilizamos duas funções auxiliares. Vamos dar uma olhada nelas.

Aqui, temos na linha 34 a função get_people responsável por buscar as informações na API Open Notify. Ao mesmo tempo, a função get_reply_message, na linha 22, monta a mensagem a ser endereçada ao usuário utilizando as informações da função get_people. Por último, precisamos apenas ativar o polling do nosso bot para que ele fique aguardando mensagens do usuário. Para fazer isso, basta uma linha de código.

Pronto! Nosso código está feito. Agora basta rodar este script e conversar com o bot. Vamos dar uma olhada como ficaram as respostas do bot aos nossos comandos.

Conclusão

Como resultado, neste artigo aprendemos a criar um assistente virtual simples que consulta uma API. Porém, essa é só uma pequena demonstração do que os bots do Telegram são capazes de fazer. Qualquer dúvida, crítica ou sugestão sobre Bot no Telegram podem me procurar pelo LinkedIn ou entrar em contato com nossos especialistas.

Blogs relacionados