Categorías
Invitados Proyectos Recursos

BotSearchBooks, nexo de Telegram y la programación

Este bot ya no es funcional ya que han dejado de dar soporte a la API que usamos para el desarrollo de esta.
Me gustaría presentaros la sección de Invitados, una sección en la que intentaré invitar a alguna persona cada X tiempo para que hable de una temática que tenga que ver con la programación o que nos explique algún proyecto en el que esté involucrado.

Hola a todos, hoy quería hablaros de un bot de Telegram creado por Fridox, por mí y otros dos compañeros la búsqueda de libros de programación en internet: BotSearchBooks

telegram

Todo comenzó un domingo por la mañana, buscando por internet en una pagina de libros, cuando nos encontramos que dicha página tenía una API Rest. Estaba claro: API Rest + conocimientos de programación + ganas de automatizar en alguna app de mensajería = Bot en Telegram.

Dicho y hecho, esa misma tarde hicimos una videoconferencia para ir dando esqueleto al bot, y la verdad que el resultado fue bastante aceptable: al principio teníamos dudas sobre el lenguaje a usar, como se iba a estructurar y que wrapper usar para comunicarnos con telegram (IMPORTANTE), pero se solucionó rápidamente: utilizamos Python como lenguaje, debido a su sencillez y versatilidad, uno de sus mejores wrappers en cuanto a manejo de bots en telegram: PyTelegramBotApi y Programación Orientada a Objetos, como no. El resultado fue bastante aceptable: fallaba pero eran errores mínimos y no había nada de que preocuparse.

Pero hecho eso, no nos quedábamos conformes con el trabajo realizado: queríamos mejorar. El bot funcionaba bien, pero comprobamos que hacía demasiadas peticiones a la API de la pagina de libros, ya que tiene un límite diario de peticiones. Eso en un futuro, y con un incremento del numero de usuarios, nos iba a afectar negativamente al bot, ya que resultaría imposible dar resultados. Había que plantearse otra manera de hacer funcionar el bot.

Entonces empezamos a mirar bases de datos para el almacenaje de búsquedas, y nos encontramos con redis. Redis es una base de datos clave-valor, bastante rápida y potente, que nos permite almacenar todo el resultado de la búsqueda sin apenas esfuerzo. Tiene una instalación simple y rápida, ya que en menos de 5 minutos, podemos tener redis funcionando en tu ordenador o vps sin apenas esfuerzo. Como plan futuro, se espera integrar esta base de datos con el bot hecho para así mejorar su funcionamiento.

El código fuente del bot podéis encontrarlo en nuestro repositorio de GitHub, cualquier aporte o sugerencia será siempre bienvenido 🙂

GitHub

Por Jaime Cepeda Villamayor

Proyecto de ingeniero informático, dedico mis ratos libres al mundo de la programación web (sobre todo backend), redactar artículos y leer sobre tecnología. Cualquier momento es bueno para aprender algo nuevo