Vou separar o artigo em 2 partes para não ficar extenso. Nessa primeira parte, irei falar um pouco como criar um bot no Telegram e como programá-lo para nos responder.
Primeiro de tudo, precisamos cria o bot. Para isso, usamos o próprio bot do telegram que faz isso para gente. Bastar iniciar uma conversa com o @BotFather, que irá nós dar algumas opções:
/newbot - create a new bot /token - generate authorization token /revoke - revoke bot access token /setname - change a bot's name /setdescription - change bot description /setabouttext - change bot about info /setuserpic - change bot profile photo /setinline - change inline settings /setinlinegeo - toggle inline location requests /setinlinefeedback - change inline feedback settings /setcommands - change bot commands list /setjoingroups - can your bot be added to groups? /setprivacy - what messages does your bot see in groups? /deletebot - delete a bot /newgame - create a new game /listgames - get a list of your games /editgame - edit a game /deletegame - delete an existing game /cancel - cancel the current operation
As que nos interessam, por enquanto, são:
/newbot - Cria um novo bot. /setdescription - Adiciona uma descrição ao nosso bot. /setuserpic - Adiciona uma imagem ao nosso bot.
Feito issom agora temos um token, que iremos usar para dar funções e vida ao bot. Para isso, iremos usar a lib telegram-bot, que vai facilitar nossa vida, assim não precisaremos mexer diretamente com a API do Telegram.
Instalando telegram-bot utilizando o pip
pip install python-telegram-bot
Agora, com a biblioteca instalada, iremos programar um mini bot para nos falar as horas:
#!/usr/bin/env python3 # -*- coding:utf-8 -*- from telegram.ext import Updater, CommandHandler from time import strftime up = Updater('Insira o token aqui.') def Horas(bot, update): msg = "Olá {user_name} agora são: " msg += strftime('%H:%M:%S') bot.send_message(chat_id=update.message.chat_id, text=msg.format( user_name=update.message.from_user.first_name)) up.dispatcher.add_handler(CommandHandler('horas', Horas)) up.start_polling()
Entendendo o código
- Importamos tudo que iremos utilizar;
- Informamos o token do nosso bot;
- Criamos uma função que pega a horas com strftime e responde no chat;
- Criamos um comando para o nosso bot, no caso o /horas;
- Startamos o bot.
Feito isso, quando mandar um /horas para o bot, ele irá nos responder com: “Olá, SeuNome! agora são X horas”.
Caso você queira adicionar mais funções ao bot, aqui está a documentação da biblioteca.
Na próxima parte iremos escolher alguns sites que falem sobre Python e fazer Scraping neles, assim sempre que eles tiverem uma nova postagem, nosso bot vai nós enviar uma mensagem informando.