Añado un array de usuarios que siempre recibirán las alertas.

This commit is contained in:
2025-01-24 09:32:20 +01:00
parent 766a0f7f6d
commit ea5c5e0838
2 changed files with 23 additions and 10 deletions
+1
View File
@@ -0,0 +1 @@
{"ultimo_guardia": 884077168}
+22 -10
View File
@@ -27,15 +27,21 @@ logger = logging.getLogger(__name__)
GUARDIA_FILE = 'guardia.json' GUARDIA_FILE = 'guardia.json'
# IDs de los usuarios que pueden estar de guardia # 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 # ID del grupo de alertas
GRUPO_ALERTAS_ID = -1002252938840 GRUPO_ALERTAS_ID = -1002252938840
# Grupo Alertas ID: -4542155833 # 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 # Función para cargar los datos de guardia desde el archivo
def cargar_guardia(): def cargar_guardia():
try: try:
@@ -66,13 +72,19 @@ async def manejar_respuesta(update: Update, context: CallbackContext):
data = cargar_guardia() data = cargar_guardia()
ultimo_guardia = data.get("ultimo_guardia") ultimo_guardia = data.get("ultimo_guardia")
if ultimo_guardia: if ultimo_guardia and ultimo_guardia not in USUARIOS_EXCLUIDOS:
# Expulsar al último guardia del grupo de alertas # Expulsar al último guardia del grupo de alertas (si no está excluido)
await context.bot.ban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=ultimo_guardia) 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 # 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.") try:
await context.bot.unban_chat_member(chat_id=GRUPO_ALERTAS_ID, user_id=usuario) 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 # Guardar el ID del nuevo guardia
data["ultimo_guardia"] = usuario data["ultimo_guardia"] = usuario
@@ -96,7 +108,7 @@ def main():
# el lunes es days=(7 - ahora.weekday()) # el lunes es days=(7 - ahora.weekday())
# el viernes es days=(4 - ahora.weekday()) # el viernes es days=(4 - ahora.weekday())
proximo_lunes = ahora + datetime.timedelta(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) application.job_queue.run_repeating(enviar_mensaje_guardia, interval=datetime.timedelta(weeks=1), first=proximo_lunes)