Control del usuario en USUARIOS_EXCLUIDOS

This commit is contained in:
2025-07-03 12:56:41 +02:00
parent f90ae1682b
commit 6949396ba6
2 changed files with 22 additions and 13 deletions
Submodule python-utilities updated: 5b8c936f0e...f90ae1682b
+20 -11
View File
@@ -84,12 +84,18 @@ async def manejar_respuesta(update: Update, context: CallbackContext):
# Invitar al nuevo guardia al grupo de alertas # Invitar al nuevo guardia al grupo de alertas
try: try:
await context.bot.unban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=usuario) if usuario not in USUARIOS_EXCLUIDOS:
mensaje = ( await context.bot.unban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=usuario)
"¡Gracias por confirmar que estás de guardia esta semana!\n\n" mensaje = (
f"Únete al grupo de alertas usando este enlace: {ENLACE_INVITACION}" "¡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) )
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: except Exception as e:
logger.error(f"Error al invitar al usuario {usuario}: {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) guardar_guardia(data)
elif respuesta in ['no', 'No', '0']: 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.") if usuario not in USUARIOS_EXCLUIDOS:
await context.bot.ban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=usuario) 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: 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") 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: if dias_para_lunes == 0:
return hoy return hoy
else: else:
return hoy + timedelta(days=dias_para_lunes) return hoy + datetime.timedelta(days=dias_para_lunes)
# Función principal para iniciar el bot # Función principal para iniciar el bot
@@ -136,8 +145,8 @@ def main():
# Programar el mensaje de guardia # Programar el mensaje de guardia
ahora = datetime.datetime.now(TIMEZONE) ahora = datetime.datetime.now(TIMEZONE)
proximo_lunes = next_monday() #ahora #+ datetime.timedelta(days=(0 - ahora.weekday())) proximo_lunes = next_monday()
proximo_lunes = proximo_lunes.replace(hour=8, minute=25, second=0, microsecond=0) 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}") logger.info(f"La fecha actual es {ahora} y el mensaje se enviará {proximo_lunes}")