Blog

Postado em em 26 de agosto de 2021

Bot de Telegram com Python – Crie o Seu Primeiro Bot

Nessa aula eu vou te mostrar como você pode criar o seu primeiro Bot de Telegram com Python e como configurar ele para a sua necessidade!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Resumo

Nessa aula eu vou te mostrar como criar em Python Telegram Bot, ou seja, um robô no Telegram para responder as mensagens enviadas a ele de acordo com o que você programar.

Então vou te levar a construção do seu primeiro Telegram Bot Python para iniciar suas automações!

Como Criar um Bot de Telegram com Python

Você já imaginou conseguir criar um Bot no Telegram utilizando o Python para automatizar suas conversas?

Aposto que você mesmo já deve ter conversado com um robô desses, que responde de forma automática de acordo com as mensagens que você envia.

Agora imagina você aprendendo a criar Bot no Python para automatizar esse processo e fazer você ganhar muito tempo e produtividade?

Como Criar Bot no Python

Antes de iniciarmos a criação do bot é necessário instalar uma biblioteca que vai nos ajudar nesse processo.

Vamos utilizar a biblioteca pytelegrambotapi. Ela vai fazer a integração da API do Telegram no Python para que possamos criar o nosso Bot.

OBS: Esse código você pode utilizar qualquer editor de Python para programar. Aqui no blog nós geralmente utilizamos ou o PyCharm ou o Jupyter. Basta clicar em qualquer um dos dois para ser levado ao passo a passo de instalação caso não tenha nenhum editor de Python!

Para instalar a biblioteca é bem simples, basta ir ao terminal ou prompt de comando e escrever: pip install pytelegrambotapi. Na hora de importar essa biblioteca o nome dela irá ficar com o nome de telebot.

IMPORTANTE: Para que isso tudo funcione você precisa ter instalado o Telegram no seu celular e já ter uma conta para poder criar o bot!

Inicialmente nós vamos entrar no telegrama e enviar uma mensagem para o BotFather, que é um bot, mas ele é que vai nos ajudar na criação de um bot no Telegram!

Conversa com o BotFather
Conversa com o BotFather

Então como ele mesmo fala (gerando uma relação com o Senhor dos Anéis) ele é o bot que comanda todos os outros.

É na conversa com esse bot que vamos poder fazer a nossa configuração do que vamos criar dentro do telegram.

Assim que você enviar uma mensagem qualquer para esse bot ele vai te mostrar todas as opções que têm e também o manual caso tenha alguma dúvida.

Bot de Telegram com Python
Opções para criação do seu Bot

OBS: Infelizmente todos os comandos estão em inglês, então se tiver alguma dúvida pode jogar rapidinho no tradutor que vai conseguir seguir!

Para começar a criar um novo bot basta clicar em /newbot (novo bot) e aqui já temos uma informação importante.

Você deve ter notado que todas as palavras que começam com essa barra (/) elas são transformadas em links, ou seja, o Telegram utiliza isso como um comando.

Criação do Bot a partir do BotFather
Criação do Bot a partir do BotFather

Aqui já vamos começar a conversar com esse bot para passar as informações que vamos utilizar.

A primeira pergunta que ele faz é qual o nome que vamos dar ao Bot, aqui você pode escolher qualquer nome.

Em seguida ele pede um nome de usuário para esse bot. Aqui você não pode utilizar espaço para separar o nome (só o underline _) e o nome obrigatoriamente tem que terminar com Bot.

Aqui você vai ter que testar os nomes, pois eu utilizei inicialmente heitor_bot e já existia um bot com esse nome, então eu não posso utilizar.

Depois que conseguir encontrar um nome que ainda não foi utilizado você vai receber uma chave API que vamos utilizar dentro do nosso código.

É isso que vai permitir com que você controle o seu Bot então é importante que você guarde essa chave, pois é como se fosse o seu login de administrador para configurar o bot.

Agora eu vou deixar o código completo aqui caso você já queira copiar, se ainda não tiver baixado o arquivo que está disponível para download.

E logo abaixo do código eu vou te explicar o que cada parte do código vai fazer.

import telebot

CHAVE_API = "COLOQUE AQUI SUA CHAVE API"

bot = telebot.TeleBot(CHAVE_API)

@bot.message_handler(commands=["pizza"])
def pizza(mensagem):
    bot.send_message(mensagem.chat.id, "Saindo a pizza pra sua casa: Tempo de espera em 20min")

@bot.message_handler(commands=["hamburguer"])
def hamburguer(mensagem):
    bot.send_message(mensagem.chat.id, "Saindo o Brabo: em 10min chega ai")

@bot.message_handler(commands=["salada"])
def salada(mensagem):
    bot.send_message(mensagem.chat.id, "Não tem salada não, clique aqui para iniciar: /iniciar")

@bot.message_handler(commands=["opcao1"])
def opcao1(mensagem):
    texto = """
    O que você quer? (Clique em uma opção)
    /pizza Pizza
    /hamburguer Hamburguer
    /salada Salada"""
    bot.send_message(mensagem.chat.id, texto)

@bot.message_handler(commands=["opcao2"])
def opcao2(mensagem):
    bot.send_message(mensagem.chat.id, "Para enviar uma reclamação, mande um e-mail para reclamaçã[email protected]")

@bot.message_handler(commands=["opcao3"])
def opcao3(mensagem):
    bot.send_message(mensagem.chat.id, "Valeu! Lira mandou um abraço de volta")



def verificar(mensagem):
    return True

@bot.message_handler(func=verificar)
def responder(mensagem):
    texto = """
    Escolha uma opção para continuar (Clique no item):
     /opcao1 Fazer um pedido
     /opcao2 Reclamar de um pedido
     /opcao3 Mandar um abraço pro Lira
Responder qualquer outra coisa não vai funcionar, clique em uma das opções"""
    bot.reply_to(mensagem, texto)

bot.polling()

Inicialmente nós temos a importação da biblioteca, temos uma variável que é a nossa chave API que o BotFather deu ao criar o nosso bot e por fim temos a criação de fato do bot para começar a funcionar.

IMPORTANTE: Logo no final do código, nós temos um comando bot.polling() ele é muito importante, pois ele é que deixa o nosso código rodando em um loop e está sempre pegando as mensagens que foram enviadas, então ele é essencial para que o bot continue funcionando sempre.

Bloco de função
Bloco de função

Você deve ter notado que temos algumas funções dentro do código, no Python nós utilizamos o def e o nome da função e logo abaixo qual é a ação que será executada dentro dessa função.

IMPORTANTE: O código mensagem.chat.id é para que o nosso bot consiga enviar essa mensagem para quem enviou a mensagem a ele, ou seja, para que ele te responda. Claro que você pode alterar isso para que ele envie uma mensagem para outra pessoa, mas é importante que para que ele te responda no mesmo chat que você use esse comando.

Essa linha de código que começa em amarelo é um decorator que é uma linha de código que vai dar uma nova funcionalidade a nossa função.

Então dentro desse código nós vamos passar quando essa função vai ser executada, ou seja, quando a pessoa escrever /pizza essa função será executada.

Verificando se o usuário enviou mensagem + mensagem de resposta padrão
Verificando se o usuário enviou mensagem + mensagem de resposta padrão

Nessa parte final que é de fato onde o nosso código começa é onde temos uma função que vai verificar se existe alguma mensagem escrita pelo usuário.

Se tiver já vamos retornar verdadeiro e vamos responder com um texto padrão utilizando a linha de código bot.reply_to(mensagem, texto).

Então vamos responder ao usuário a mensagem dele (já que ele enviou alguma mensagem, seja ela qual for) com um texto padrão.

E veja que nesse texto nós já colocamos 3 opções que temos dentro das nossas funções.

RESUMINDO

Assim que o usuário escrever qualquer mensagem o nosso bot vai responder com essa mensagem padrão dando a ele 3 opções: fazer um pedido, reclamar de um pedido e mandar um abraço pro Lira.

Caso o usuário não selecione nenhuma opção para ativar as nossas funções, vamos ter novamente essa mesma mensagem sendo repetida até que ele “ative” uma das nossas funções.

Bot de Telegram com Python
Conversa com o seu bot

Aqui você pode testar para verificar como está o funcionamento do seu bot, veja que quando você clica em uma das opções que começam com / o próprio telegrama responde por você aquela mesma informação.

Então o seu bot já vai ler essa informação e já vai executar a função correspondente aquela informação.

Bot de Telegram com Python
Verificação da mensagem padrão

Aqui outro teste para você verificar que qualquer mensagem que for escrita que não for ativar uma função vai retornar a mensagem inicial.

Agora que você tem o seu Python Telegram Bot já pode fazer suas alterações para atender as suas necessidades!

Conclusão

Nessa aula eu te ensinar a integrar Python Telegram para que você possa criar o seu primeiro Bot Telegram Python já com as suas configurações.

Isso quer dizer que você mesmo pode escolher quais os comandos e as mensagens que o seu bot vai ter.

Claro que você pode ver as outras opções de bot no próprio BotFather do Telegram e consultar o manual da API caso tenha alguma dúvida!

Agora quero ver você criando o seu primeiro bot e impressionando no seu trabalho!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso gratuito?


Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador