Monitorizar web con Python y Telegram 3

En los artículos anteriorer de como Monitorizar una web con Python y que nos avise por Telegram (Monitorizar web con Python y Telegram 1), hemos hablado de como crear un script, y nos falta lo más importante, el bot de telegram, el monitor y el ciclo de vida del script. Python y Telegram: Crear el script En estos punto vamos a proceder a crear el script, es importante ya que la intención no es llegar a desplegar una aplicación, sino tener un ejemplo de como con un script se pueden realizar tareas sin necesidad de desplegar aplicaciones que nos pueden llevar incluso más tiempo el asegurar su comportamiento. Conectar con Telegram El momento correcto de conectar con Telegram es el momento en el que levantamos el contexto del demonio que hemos visto en Monitorizar web con Python y Telegram 2, para ello vamos a realizar los siguiente cambios: with context: logger = getLogger() updater = Updater(token=cfg[‘TOKEN’], use_context=True) dispatcher = updater.dispatcher start_handler = CommandHandler(‘start’, start) dispatcher.add_handler(start_handler) status_handler = CommandHandler(‘status’, status) dispatcher.add_handler(status_handler) token_handler = CommandHandler(‘token’, token) dispatcher.add_handler(token_handler) restart_handler = CommandHandler(‘restart’, restart) dispatcher.add_handler(restart_handler) check_thread = threading.Thread( target=monitorProc, args=(updater, logger, )) check_thread.start() do_main_program(logger, updater) Podemos ver una definición principal que es updater, este objeto se utilizará en todas las llamadas realizadas a Telegram, el segundo punto es el uso del dispacher para definir comandos del bot y que función python va a ejecutar la respuesta a dicho comando del bot, definimos 4 comandos para el bot: start Esta función debe mostrar un mensaje de presentación cuando se accede por primera vez al bot o cuando se ejecuta directamente. Lo definimos en el contexto con: Y podemos ver como añadimos por un lado un manejador de los comandos del bot “CommandHandler” cuyos argumentos son el comando del bot y la función que se llamará cuando el bot reciba dicho comando: La función start devuelve dos mensajes, uno directamente a través de reply (update.message.reply_text) y un segundo con el estado del monitor a través del identificador del canal (no un reply, sino un mensaje directo al canal) con la función context.bot.send_message(chatid, mensaje). status Para el estado no vamos a diferenciar con el caso anterior y simplemente comprueba el monitor y envía un mensaje directo al canal. token Para la función de ejecutar voy a plantear un pequeño mecanismo de interacción que compruebe la validez del usuario, para ello el usuario pedirá un token (aleatorio) por el […]

Volver arriba