from flask import Flask, request, jsonify from flask_cors import CORS import os # Importamos tus archivos (asegúrate de que estén en la misma carpeta) from cerebro import Shuna from memoria import MemoriaPersistente app = Flask(__name__) CORS(app) # Esto soluciona el error de "flask_cors" y permite que Roblox se conecte # Inicializar memoria e IA # En Hugging Face usamos /tmp para que no dé error al guardar archivos ruta_memoria = "/tmp/memoria.json" if os.getenv("SPACE_ID") else "memoria.json" memoria = MemoriaPersistente(archivo=ruta_memoria) shuna = Shuna(memoria) # Ruta para ver si la API está encendida @app.route("/", methods=["GET"]) def home(): return "Servidor de Shuna activo y operando para Yeshua Rey." # Ruta que usará Roblox para hablar con Shuna @app.route("/shuna", methods=["POST"]) def chat_shuna(): try: datos = request.get_json() if not datos: return jsonify({"respuesta": "No recibí datos."}), 400 # Aceptamos 'mensaje' (Roblox) o 'message' (Web) mensaje_usuario = datos.get("mensaje") or datos.get("message", "") if not mensaje_usuario: return jsonify({"respuesta": "¿Qué deseas decirme, Yeshua Rey?"}) # Shuna procesa el mensaje usando tu lógica de cerebro.py respuesta_final = shuna.responder(mensaje_usuario) return jsonify({"respuesta": respuesta_final}) except Exception as e: print(f"Error en la API: {e}") return jsonify({"respuesta": "Lo siento, tuve un error interno en mi sistema."}), 500 if __name__ == "__main__": # Puerto 7860 para Hugging Face, 5000 para tu PC puerto = int(os.environ.get("PORT", 5000)) app.run(host="0.0.0.0", port=puerto)