diff --git a/python-utilities b/python-utilities index 5b8c936..f90ae16 160000 --- a/python-utilities +++ b/python-utilities @@ -1 +1 @@ -Subproject commit 5b8c936f0e07546c12accd15f19f502dbb5580cf +Subproject commit f90ae1682b2ae9345a62bb410c92dd463917f1bf diff --git a/telegram-bot-guardias.py b/telegram-bot-guardias.py index 4670e8a..1aac8e4 100644 --- a/telegram-bot-guardias.py +++ b/telegram-bot-guardias.py @@ -84,12 +84,18 @@ async def manejar_respuesta(update: Update, context: CallbackContext): # Invitar al nuevo guardia al grupo de alertas try: - await context.bot.unban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=usuario) - mensaje = ( - "¡Gracias por confirmar que estás de guardia esta semana!\n\n" - f"Únete al grupo de alertas usando este enlace: {ENLACE_INVITACION}" - ) - await context.bot.send_message(chat_id=usuario, text=mensaje) + if usuario not in USUARIOS_EXCLUIDOS: + await context.bot.unban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=usuario) + mensaje = ( + "¡Gracias por confirmar que estás de guardia esta semana!\n\n" + f"Únete al grupo de alertas usando este enlace: {ENLACE_INVITACION}" + ) + await context.bot.send_message(chat_id=usuario, text=mensaje) + else: + mensaje = ( + "Muy gracioso. Si tu siempre estás de guardia parguelas!!!" + ) + await context.bot.send_message(chat_id=usuario, text=mensaje) except Exception as e: logger.error(f"Error al invitar al usuario {usuario}: {e}") @@ -98,8 +104,11 @@ async def manejar_respuesta(update: Update, context: CallbackContext): guardar_guardia(data) elif respuesta in ['no', 'No', '0']: - await context.bot.send_message(chat_id=usuario, text="Gracias por responder. Como no estás de guardia esta semana, te sacamos del grupo.") - await context.bot.ban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=usuario) + if usuario not in USUARIOS_EXCLUIDOS: + await context.bot.send_message(chat_id=usuario, text="Gracias por responder. Como no estás de guardia esta semana, te sacamos del grupo.") + await context.bot.ban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=usuario) + else: + await context.bot.send_message(chat_id=usuario, text="Gracias por responder, pero estás en la lista de pringaos que no se escapan de las notificaciones. Te quedas en el grupo.") 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") @@ -116,7 +125,7 @@ def next_monday(): if dias_para_lunes == 0: return hoy else: - return hoy + timedelta(days=dias_para_lunes) + return hoy + datetime.timedelta(days=dias_para_lunes) # Función principal para iniciar el bot @@ -136,8 +145,8 @@ def main(): # Programar el mensaje de guardia ahora = datetime.datetime.now(TIMEZONE) - proximo_lunes = next_monday() #ahora #+ datetime.timedelta(days=(0 - ahora.weekday())) - proximo_lunes = proximo_lunes.replace(hour=8, minute=25, second=0, microsecond=0) + proximo_lunes = next_monday() + proximo_lunes = proximo_lunes.replace(hour=8, minute=30, second=0, microsecond=0) logger.info(f"La fecha actual es {ahora} y el mensaje se enviará {proximo_lunes}") @@ -148,4 +157,4 @@ def main(): # Punto de entrada del script if __name__ == '__main__': - main() \ No newline at end of file + main()