Meu primeiro chatbot para Telegram com Python
Python é, no momento, uma das linguagens de programação mais utilizadas por programadores em todo mundo. Consequentemente há bibliotecas para tudo. Bibliotecas são conjuntos de objetos que facilitam a resolução de problemas, sendo estas bibliotecas parte da solução ou, até mesmo, a solução completa.
Nesse tutorial faremos nosso primeiro chatbot usando a linguagem Python e a biblioteca pyTelegramBotAPI.
Criando o bot no telegram
O BotFather é um chatbot que ajuda você a criar seu próprio chatbot. Basta chamar ele “inbox” no seu Telegram e digitar /start.
Ele mostrará as opções e uma delas é /newbot. Cliquemos nessa opção. Em seguida, basta digitar o nome do bot e o username do bot.
Finalizado esse processo, o BotFather apresentará um token. Guardaremos ele e não mostraremos para ninguém. Qualquer pessoa com esse token poderá controlar nosso bot.
Configurando o Jupyter Notebook
Como utilizaremos Python para programar nosso bot, usaremos o Jupyter Notebook, uma interface amigável e simples para essa tarefa!
Primeiro, instalamos o Anaconda Python. Este software pode ser encontrado nesse site. Procuramos na página os instaladores e escolhemos aquele compatível compatível com nosso sistema operacional.
Após instalação veremos que, junto com o Anaconda, foram instalados várias utilidades. Uma delas é o Jupyter Notebook. Buscamos por ele no nosso computador e executamos o programa. Abrirá no navegador uma interface como da imagem abaixo. Naveguemos até a pasta onde ficará o projeto. Como exemplo, escolhi a pasta BotProject:
Pronto, agora clicamos em New e, depois, em Python 3.
Clicando em File e, depois, em Rename, é possível dar um nome para nosso notebook. Chamarei o meu de HelloBot. Na imagem abaixo, são apresentados algumas funcionalidades e termos que usaremos no tutorial.
Estamos prontos para começar! Antes de tudo, instalaremos a biblioteca que nos ajudará a trabalhar com chatbots para Telegram. Para isso, digitamos o código abaixo em uma célula do notebook e executamos a mesma:
! pip install pyTelegramBotAPI
Após finalizada a instalação da biblioteca, podemos deletar essa célula, pois só precisamos instalar cada biblioteca uma vez.
Escondendo seu token
Crie um arquivo dentro da pasta do projeto, usando o bloco de notas mesmo, de nome my_infos.py com o seguinte conteúdo token=”<seu_token>” como no exemplo abaixo:
token="dsaifuiasd9093@:awjrowjal"
Substitua <seu_token> pelo seu token. Salve o arquivo.
Criando Bot que se apresenta
Nosso primeiro bot será bem simples, quando o usuário digitar /start ele se apresentará como HelloBot. Vamos ao código:
Linha por linha:
- (linha 01) Importamos a biblioteca que instalamos.
- (linha 02) Importamos o arquivo onde está nosso token.
- (linha 04) Guardamos nosso token na variável token.
- (linha 05) Iniciamos nosso bot passando o token para ele. Além disso guardamos o bot na variável bot.
- (linha 07) Colocamos entre colchetes a palavra que chama a função na linha 8.
- (linha 08) Começamos a criar nossa função de nome say_hello. Essa função recebe como parâmetro a mensagem do usuário (caso seja /start).
- (linha 09) Quando o usuário manda uma mensagem, nessa é possível encontrar o ID daquele chat. Isso é importante para que nosso bot envie a mensagem para o chat correto. Guardamos o ID do chat na variável chat_id.
- (linha 10) O bot envia mensagem. Para isso devemos passar o chat_id e a mensagem que queremos enviar. Neste exemplo a mensagem é “Olá, eu sou o HelloBot!”.
- (linha 12) O bot inicia e fica rodando até que paremos a execução da célula.
Para testar seu bot, execute a célula. Procure no telegram pelo username do seu bot. Escreva /start no chat com seu bot e envie.
Pronto! Acabamos de criar nosso primeiro chatbot para Telegram!
Espero que tenham gostado!