Irei separa 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 programa-lo para nos responder.
1 - Parte 1 - Bot simples. (você está aqui)
2 - Parte 2 - Bot e Web Scraping
Primeiro de tudo precisamos cria o bot, para isso usamos o próprio bot do telegram que faz isso para gente. Para isso bastar iniciar uma conversa com o @BotFather, ele irá nós da 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 nós interessa 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 isso agora temos um token, que iremos usar para dar funções e vida ao bot. Para isso iremos usar a lib telegram-bot, ela irá facilitar a nosso vida, assim não iremos precisar 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 nós 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.
1 - Importamos tudo que iremos utilizar.
2 - Informamos o token do nosso bot.
3 - Criamos uma função que pega a horas com strftime e responde no chat.
4 - Criamos um comando para o nosso bot, no caso o /horas.
5 - Startamos o bot.
Feito isso quando mandar um /horas para o bot ele irá nos responder com: "Olá SeuNome agora são Horas."
Caso você queira adicionar mais funções ao bot, aqui está a documentação da biblioteca.
Na próxima parte iremos escolher alguns site que fale sobre Python e fazer Scraping nele, assim sempre que ele tiver uma nova postagem nosso bot vai nós enviar uma mensagem informando.
"Bot telegram mais web scraping - parte 1" de "Pedro Souza." está licenciado com uma Licença Creative Commons - Atribuição-NãoComercial-SemDerivações 4.0 Internacional.