Calculando el proximo lunes

This commit is contained in:
2025-03-10 07:24:29 +01:00
parent 346053e0f3
commit db4441c4d5
2 changed files with 19 additions and 3 deletions
Submodule python-utilities updated: 0ed336b919...346053e0f3
+18 -2
View File
@@ -102,6 +102,22 @@ async def manejar_respuesta(update: Update, context: CallbackContext):
else:
await context.bot.send_message(chat_id=usuario, text="No entiendo tu respuesta. Responde con un 1 o un Si, si estás de guardia. Con un 0 o un No en caso contrario. Gracias")
def next_monday():
# Obtener la fecha actual
hoy = datetime.now()
# Calcular cuántos días faltan para el próximo lunes
# weekday() devuelve 0 para lunes, 1 para martes, ..., 6 para domingo
dias_para_lunes = (0 - hoy.weekday()) % 7
# Si hoy es lunes, dias_para_lunes será 0, por lo que devolvemos hoy
# Si no, sumamos los días que faltan para el próximo lunes
if dias_para_lunes == 0:
return hoy
else:
return hoy + timedelta(days=dias_para_lunes)
# Función principal para iniciar el bot
def main():
# El token del bot
@@ -111,9 +127,9 @@ def main():
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, manejar_respuesta))
# Programar el mensaje de guardia
ahora = datetime.datetime.now(TIMEZONE)
#ahora = datetime.datetime.now(TIMEZONE)
proximo_lunes = ahora #+ datetime.timedelta(days=(0 - ahora.weekday()))
proximo_lunes = next_monday() #ahora #+ datetime.timedelta(days=(0 - ahora.weekday()))
proximo_lunes = proximo_lunes.replace(hour=8, minute=25, second=0, microsecond=0)
logger.info(f"La fecha actual es {ahora} y el mensaje se enviará {proximo_lunes}")