UPV-BOT es una herramienta automatizada desarrollada en Python para gestionar reservas en la intranet de la UPV. Permite listar horarios disponibles, realizar reservas de forma sencilla o mediante fuerza bruta, y gestionar múltiples reservas simultáneamente.
- Python 3.x
- Librerías especificadas en
requirements.txt
.gitignore
assets/
bot.py
README.md
-
Clona el repositorio:
git clone https://github.com/0xbiel/upv-bot.git cd upv_bot
-
Crea un entorno virtual y activa:
python3 -m venv venv source venv/bin/activate
-
Instala las dependencias:
pip install -r requirements.txt
-
Ejecuta el script sin argumentos:
python bot.py
-
Introduce las credenciales cuando se te solicite.
-
Sigue las opciones del menú:
l
: Mostrar lista de la actividadb
: Fuerza bruta hasta conseguir la actividadr
: Reservar simplec
: Seleccionar URL/Actividad de manera Interactivau
: Cambiar URLe
: Salir
-
Ejecuta el script con argumentos:
python bot.py -u <usuario> -p <contraseña> -l <Y> -x "<preferencias>" -b <Y> -a "<URL>"
-u
,--user
: Usuario-p
,--password
: Contraseña-l
,--list
: Listar horarios disponibles (Y)-x
,--preferencias
: Preferencias de actividades (e.g., "MU002,MU003")-b
,--loop
: Intentar hasta que esté disponible (Y)-a
,--activity
: URL de la actividad que deseas reservar
login(user, passwd)
: Autentica al usuario en la intranet.get_schedule()
: Obtiene el horario de la actividad desde la URL proporcionada.get_time(schedule)
: Procesa el horario obtenido.print_schedule(items)
: Imprime el horario en formato de tabla.reservar(item)
: Intenta realizar una reserva para el ítem especificado.loop_reserva(item)
: Ejecutareservar(item)
en bucle hasta que se consiga la reserva.holy_func(preferences)
: Reserva ítems en paralelo usando hilos.holy_func_looping(preferences)
: Reserva ítems en paralelo en bucle usando hilos.handle_options()
: Maneja las opciones seleccionadas por el usuario.get_user_choice()
: Obtiene la opción elegida por el usuario.get_user_preferences()
: Obtiene las preferencias de actividades del usuario.set_url()
: Establece la URL de la actividad deseada.check_args(args)
: Verifica si se pasaron argumentos al ejecutar el script.
- Ejecuta:
python bot.py
- Selecciona la opción
r
para reserva simple. - Introduce las preferencias de actividades cuando se te solicite.
- Ejecuta:
python bot.py -u DNI -p CONTRASEÑA -l Y -a URL
Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE
para más detalles.