<div dir="ltr"><div>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 😅</div><div>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 🙏</div><div><br></div><div>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í <a href="https://t.me/camgrambot">https://t.me/camgrambot</a> (tenéis que mandarle el comando <b>/cameras</b> para ver todas las que hay).</div><div>Este lleva mucho tiempo parado, lo hice hace un par de años y ahí quedó.</div><div>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.</div><div>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.</div><div><br></div><div>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 😁:</div><div><br></div><div>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).</div><div>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).</div><div>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 😮‍💨</div><div>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).</div><div>1d. Y también en algún momento tengo que hacer un poco de refactor de código.</div><div>1e. Y mejorar logs/observabilidad y tener unas métricas mínimas para conocer cuánta gente está usando el bot.</div><div><br></div><div>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.</div><div><br></div><div>3. Cálculo de rutas, esto veo que lo tenéis propuesto en el <a href="https://docs.google.com/document/d/1fMjqTFb1p4D45SZmVb2oh4C3OLh_MQQi3Izuwo-2zsU/edit?tab=t.0">documento</a>. Puede ser una idea, o podemos aprovecharnos que ahora tienen la integración hecha con Google Maps y generar enlaces o algo así.</div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div><div>6. StreetView. Enviar una imagen de Google Streetview con la ubicación de una parada concreta.</div><div><br></div><div>Sin más que añadir, saludos y hasta la (espero que pronta) próxima!!</div></div>