diff --git a/app/main.py b/app/main.py index e64cb53..a3ebd19 100644 --- a/app/main.py +++ b/app/main.py @@ -18,10 +18,7 @@ from telegram.ext import Application, Defaults, CommandHandler, ContextTypes # --- IMPORTAR HABILIDADES --- from modules.flow_builder import load_flows from modules.logger import log_request -from modules.database import ( - chat_id_exists, - load_registered_users, -) # Importar chat_id_exists y load_registered_users +from modules.database import chat_id_exists # Importar chat_id_exists from modules.ui import main_actions_keyboard from modules.rh_requests import vacaciones_handler, permiso_handler @@ -109,11 +106,6 @@ async def menu_principal(update: Update, context: ContextTypes.DEFAULT_TYPE): async def post_init(application: Application): - """Tareas a ejecutar después de que el bot se haya inicializado.""" - # Cargar usuarios registrados desde el archivo de persistencia. - # Es crucial que esto se ejecute antes de que el bot empiece a recibir updates. - load_registered_users() - # Mantén los comandos rápidos disponibles en el menú de Telegram await application.bot.set_my_commands( [ diff --git a/app/modules/database.py b/app/modules/database.py index ed556ea..248130d 100644 --- a/app/modules/database.py +++ b/app/modules/database.py @@ -1,15 +1,4 @@ import logging -import os - -# --- CONFIGURACIÓN DE PERSISTENCIA --- -# Usamos un archivo de texto para persistir los chat_id de usuarios registrados. -# Esto es una solución temporal y ligera hasta que se implemente una base de datos. -DATA_DIR = os.path.join(os.path.dirname(__file__), "..", "..", "data") -USERS_FILE = os.path.join(DATA_DIR, "registered_users.txt") - -# Asegurarse de que el directorio de datos exista -os.makedirs(DATA_DIR, exist_ok=True) - # MOCK DATABASE MODULE # Since the actual DB is removed temporarily, this module provides mock implementations. @@ -20,59 +9,23 @@ SessionVanityAttendance = None _REGISTERED_USERS = set() - -def load_registered_users(): - """Carga los chat_id de usuarios registrados desde el archivo de texto.""" - try: - if os.path.exists(USERS_FILE): - with open(USERS_FILE, "r") as f: - for line in f: - try: - _REGISTERED_USERS.add(int(line.strip())) - except ValueError: - logging.warning( - f"[DB] Se ignoró una línea no válida en {USERS_FILE}: {line.strip()}" - ) - logging.info( - f"[DB] Se cargaron {len(_REGISTERED_USERS)} usuarios registrados desde {USERS_FILE}" - ) - else: - logging.info(f"[DB] No se encontró el archivo de usuarios en {USERS_FILE}, se creará uno nuevo al primer registro.") - except Exception as e: - logging.error(f"[DB] Error al cargar usuarios registrados: {e}") - - def chat_id_exists(chat_id: int) -> bool: """Mock check: returns True if user is in in-memory set.""" return int(chat_id) in _REGISTERED_USERS - def register_user(user_data: dict) -> bool: - """ - Mock register: adds user to in-memory set and appends to the persistence file. - """ + """Mock register: adds user to in-memory set.""" try: meta = user_data.get("meta", {}) metadata = user_data.get("metadata", {}) tid = meta.get("telegram_id") or metadata.get("telegram_id") or metadata.get("chat_id") if tid: - chat_id = int(tid) - if chat_id not in _REGISTERED_USERS: - _REGISTERED_USERS.add(chat_id) - # Persistir en el archivo de texto - with open(USERS_FILE, "a") as f: - f.write(f"{chat_id}\n") - logging.info(f"[DB] User {chat_id} registered in memory and persisted to file.") - else: - logging.info(f"[DB] User {chat_id} was already registered.") + _REGISTERED_USERS.add(int(tid)) + logging.info(f"[MockDB] User {tid} registered in memory.") return True - - logging.warning("[DB] Could not find telegram_id in user_data to register.") - return False - except (ValueError, TypeError) as e: - logging.error(f"[DB] Invalid telegram_id format: {tid}. Error: {e}") + logging.warning("[MockDB] Could not find telegram_id in user_data.") return False except Exception as e: - logging.error(f"[DB] Register error: {e}") + logging.error(f"[MockDB] Register error: {e}") return False