diff --git a/guardia.json b/guardia.json new file mode 100644 index 0000000..91322d3 --- /dev/null +++ b/guardia.json @@ -0,0 +1 @@ +{"ultimo_guardia": 884077168} \ No newline at end of file diff --git a/telegram-bot-guardias.py b/telegram-bot-guardias.py index c7cfe44..6ec05ba 100644 --- a/telegram-bot-guardias.py +++ b/telegram-bot-guardias.py @@ -27,15 +27,21 @@ logger = logging.getLogger(__name__) GUARDIA_FILE = 'guardia.json' # IDs de los usuarios que pueden estar de guardia -USUARIOS_GUARDIA = [132308323, 127382235] +USUARIOS_GUARDIA = [132308323, 127382235, 884077168, 569107396, 1110851005] + +# m4gn3to: 132308323 +# david andueza: 884077168 +# david berberia: 569107396 +# susana: 1110851005 +# victor: 127382235 + +# IDs de los usuarios que nunca deben ser expulsados +USUARIOS_EXCLUIDOS = [132308323, 127382235] # ID del grupo de alertas GRUPO_ALERTAS_ID = -1002252938840 - # Grupo Alertas ID: -4542155833 -# telegram.error.ChatMigrated: Group migrated to supergroup. New chat id: -1002252938840 - # Función para cargar los datos de guardia desde el archivo def cargar_guardia(): try: @@ -66,13 +72,19 @@ async def manejar_respuesta(update: Update, context: CallbackContext): data = cargar_guardia() ultimo_guardia = data.get("ultimo_guardia") - if ultimo_guardia: - # Expulsar al último guardia del grupo de alertas - await context.bot.ban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=ultimo_guardia) + if ultimo_guardia and ultimo_guardia not in USUARIOS_EXCLUIDOS: + # Expulsar al último guardia del grupo de alertas (si no está excluido) + try: + await context.bot.ban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=ultimo_guardia) + except Exception as e: + logger.error(f"Error al expulsar al usuario {ultimo_guardia}: {e}") # Invitar al nuevo guardia al grupo de alertas - await context.bot.send_message(chat_id=usuario, text="Te has unido al grupo de alertas de guardias.") - await context.bot.unban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=usuario) + try: + await context.bot.unban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=usuario) + await context.bot.send_message(chat_id=usuario, text="Te has unido al grupo de alertas de guardias.") + except Exception as e: + logger.error(f"Error al invitar al usuario {usuario}: {e}") # Guardar el ID del nuevo guardia data["ultimo_guardia"] = usuario @@ -96,7 +108,7 @@ def main(): # el lunes es days=(7 - ahora.weekday()) # el viernes es days=(4 - ahora.weekday()) proximo_lunes = ahora + datetime.timedelta(days=(4 - ahora.weekday())) - proximo_lunes = proximo_lunes.replace(hour=8, minute=9, second=0, microsecond=0) + proximo_lunes = proximo_lunes.replace(hour=9, minute=30, second=0, microsecond=0) application.job_queue.run_repeating(enviar_mensaje_guardia, interval=datetime.timedelta(weeks=1), first=proximo_lunes)