[PyVigo] Sobre Vigobustelegrambot
David Lorenzo
davidl.eco en gmail.com
Dom Oct 18 13:29:08 CEST 2026
Hola! He visto que en la última reunión habéis listado como posible
propuesta colaborar con el VigoBusTelegramBot. Para quienes no me
conozcáis, soy el autor del bot/proyecto. Hace tiempo que no me paso por
las reuniones (creo que este año aún no fui a ninguna ), a ver si me da
el tiempo y la energía algún mes para ir al menos a una antes de que
termine el año
En fin, quería escribir por aquí, primero para saludar, y segundo para
comentar un poco el estado del proyecto, por si quisiérais tener más
contexto (se viene turra!). Ah! y antes de nada, gracias por tenerlo en
cuenta
Antes de la turra, comentar que tengo otro proyecto, por si quisiérais
también añadirlo a la lista. Se trata de (otro) bot de Telegram, este es
para consultar las webcams de tráfico de Vigo. Si lo queréis probar, está
funcionando aquí https://t.me/camgrambot (tenéis que mandarle el comando
*/cameras* para ver todas las que hay).
Este lleva mucho tiempo parado, lo hice hace un par de años y ahí quedó.
Tenía la idea de llevarlo a más ciudades, incluso se podría hacer un
estándar/formato que permitiese repositar cámaras de todo el mundo en
diferentes formatos para tener una database colaborativa.
También podría ceder el bot a la asociación, aunque no sé si lo que teníais
pensado va más enfocado a colaborar en un proyecto ajeno, más que uno
propio.
Volviendo al Vigobusbot: lo tengo bastante parado, pero hay un par de ideas
en el tintero que paso a comentar, por dar más contexto de cómo se
encuentra y de lo que tenía pensado de cara a algún futuro lejano :
1. Lo último en lo que estuve trabajando fue un refactor bastante
importante, de cara a algo ambicioso que me gustaría conseguir. Se trata de
hacer el bot replicable, de forma que pueda ejecutarse en varios
nodos/réplicas a la vez y en paralelo. De esta forma, se evitan caídas de
servicio cuando algún nodo requiere reinicios/actualizaciones; y se reparte
la carga (que ahora mismo no es muy alta, pero siempre es interesante).
1a. El primer paso fue cambiar la base de datos, elegí CouchDB porque
permite ejecutarse replicadamente sin quorum (que en teoría puede no ser
buena idea, pero me gustaría que el bot fuese lo suficientemente flexible
para poder ejecutarse con cualquier cantidad de réplicas, incluso una).
1b. El segundo paso, que sería lo siguiente, es conseguir ejecutar el bot
de Telegram concurrentemente. Esto tiene bastante intríngulis técnico que
no comentaré aquí por no turrear más de la cuenta
1c. También quiero hacer un "back to monolith", ahora mismo el bot está
dividido en 3 microservicios. Tenía pensado juntarlos todos nuevamente en
un monolito (esto ya lo tengo hecho, a falta de afinar alguna cosilla).
1d. Y también en algún momento tengo que hacer un poco de refactor de
código.
1e. Y mejorar logs/observabilidad y tener unas métricas mínimas para
conocer cuánta gente está usando el bot.
2. Avisar de cuándo viene un bus. Poder suscribirse a una parada+bus en un
momento concreto, para avisar al usuario cuando falten 5/4/3/2/1/0 minutos,
enviándole mensajes con cada cambio de tiempo.
3. Cálculo de rutas, esto veo que lo tenéis propuesto en el documento
<https://docs.google.com/document/d/1fMjqTFb1p4D45SZmVb2oh4C3OLh_MQQi3Izuwo-2zsU/edit?tab=t.0>.
Puede ser una idea, o podemos aprovecharnos que ahora tienen la integración
hecha con Google Maps y generar enlaces o algo así.
4. Ver horarios teóricos. Porque las estimaciones que da Vitrasa, según la
parada y el bus, hay veces que van bastante mal, o no muestran buses a
futuro. Me gustaría pillar los horarios teóricos y generar una estimación
alternativa en base a éstos.
5. Mapas. Enviar una imagen de un mapa con la ubicación de una parada
concreta, o varias paradas al hacer una búsqueda por nombre o ubicación.
6. StreetView. Enviar una imagen de Google Streetview con la ubicación de
una parada concreta.
Sin más que añadir, saludos y hasta la (espero que pronta) próxima!!
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://lists.es.python.org/pipermail/vigo/attachments/20261018/1a68a481/attachment.htm>
Más información sobre la lista de distribución Vigo