🏛️ Datos Abiertos CyL - Bot de Telegram
September 8, 2025 · View on GitHub
Tu asistente inteligente para explorar los datos abiertos de Castilla y León
🚀 Inicio Rápido
✨ Características
- 🔍 Búsqueda inteligente con sinónimos en +400 datasets oficiales
- 📱 Acceso móvil 24/7 desde Telegram
- 🔔 Alertas automáticas de actualizaciones
- 💾 Descargas directas en Excel, CSV, JSON
- ⭐ Favoritos para acceso rápido
- 📊 Resúmenes diarios automáticos de datasets nuevos
📊 Datos Disponibles
| Categoría | Contenido |
|---|---|
| 🏥 Salud | Hospitales, centros de salud, estadísticas sanitarias |
| 🎓 Educación | Centros educativos, becas, estadísticas académicas |
| 🏨 Turismo | Alojamientos, rutas, patrimonio, puntos de interés |
| 🌱 Medio Ambiente | Calidad del aire, espacios naturales, energías |
| 👥 Demografía | Población por municipios, censos, estadísticas |
| 💼 Economía | Empresas, comercio, indicadores, presupuestos |
| 🚌 Transporte | Líneas de autobús, estaciones, infraestructuras |
| 🏠 Vivienda | Precios, alquileres, promociones públicas |
📱 Comandos Principales
| Comando | Función |
|---|---|
/start | Ver todas las categorías |
/buscar [término] | Buscar datasets |
/favoritos | Tus datasets guardados |
/mis_alertas | Gestionar suscripciones |
/recientes | Datasets actualizados |
/resumen_diario | Datasets nuevos por día |
/catalogo | Descargar catálogo completo Excel |
/alertas_palabras | Alertas personalizadas |
/estadisticas | Resumen del portal |
🔔 Sistema de Alertas
- Categorías: Suscríbete a temas completos (salud, educación...)
- Datasets específicos: Avisos de actualizaciones concretas
- Palabras clave: Alertas personalizadas
/alertas_palabras hospital - Resúmenes automáticos: Datasets nuevos cada día a las 9:00 AM
🛠️ Instalación y Despliegue
Railway (Recomendado)
- Fork este repositorio
- Conecta tu GitHub con Railway
- Configura las variables de entorno:
TELEGRAM_BOT_TOKEN=tu_token_aqui JCYL_API_BASE_URL=https://analisis.datosabiertos.jcyl.es ALERTS_ENABLED=true - Railway desplegará automáticamente usando el Dockerfile
Docker Local
git clone https://github.com/computingvictor/datos-abiertos-cyl-bot
cd DATOS-ABIERTOS-CYL-BOT
cp .env.example .env # Configura tu TELEGRAM_BOT_TOKEN
docker-compose up -d
Ejecución Directa
pip install -r requirements.txt
export TELEGRAM_BOT_TOKEN="tu_token"
export DATABASE_URL="sqlite:///bot.db"
python main.py
🔧 Configuración
Variables de Entorno
| Variable | Descripción | Requerida |
|---|---|---|
TELEGRAM_BOT_TOKEN | Token del bot | ✅ |
DATABASE_URL | URL de base de datos | ❌ |
JCYL_API_BASE_URL | API de datos JCyL | ❌ |
ALERTS_ENABLED | Activar alertas | ❌ |
ALERTS_CHECK_INTERVAL_HOURS | Frecuencia alertas (2h) | ❌ |
Arquitectura
Telegram API ←→ FastAPI ←→ JCYL API
↓
PostgreSQL/SQLite
📊 Monitoreo
- Health check:
GET /health - Test API:
GET /debug/themes - Webhook:
POST /webhook
🤝 Contribuir
- Fork el proyecto
- Crea una rama:
git checkout -b feature/nueva-funcionalidad - Commit:
git commit -m 'Añadir nueva funcionalidad' - Push:
git push origin feature/nueva-funcionalidad - Abre un Pull Request
📞 Soporte
- 🤖 Bot: Usa
/help - 🐛 Issues: GitHub Issues
🏛️ Datos Oficiales
- Portal: analisis.datosabiertos.jcyl.es
- Transparencia: gobiernoabierto.jcyl.es
- Junta CyL: jcyl.es
👨💻 Tech Stack
- Backend: Python 3.11+, FastAPI, SQLAlchemy
- Bot: python-telegram-bot
- DB: PostgreSQL/SQLite
- Deploy: Docker, Railway
- Frontend: HTML/CSS/JS (GitHub Pages)
📄 Licencia
MIT License - ver LICENSE
Desarrollado por Víctor Viloria
Haciendo la información pública más accesible para todos
🚀 Usar bot • 💻 Código • 🌐 Web