# app/app.py from flask import Flask, request, jsonify import os import logging from waitress import serve # Logging konfigurieren logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) logger = logging.getLogger(__name__) app = Flask(__name__) @app.route("/", methods=["GET"]) def health_check(): logger.info("Health check endpoint called") return jsonify({ "status": "healthy", "message": "Discord bot is running on Hugging Face Spaces!" }) @app.route("/interactions", methods=["POST"]) def interactions(): if not request.is_json: logger.warning("Received non-JSON request") return jsonify({"error": "Expected JSON data"}), 400 data = request.json logger.info(f"Received interaction: {data.get('type')}") # Discord Ping Verification if data.get("type") == 1: logger.info("Responding to ping verification") return jsonify({"type": 1}) # Slash Command Handler if data.get("type") == 2: command = data.get("data", {}).get("name") logger.info(f"Received command: {command}") if command == "settings": return jsonify({ "type": 4, "data": { "content": "Hier sind die aktuellen Einstellungen deiner App." } }) return jsonify({"error": "Unknown interaction type"}), 400 if __name__ == "__main__": logger.info("Starting Discord bot on Hugging Face Spaces...") # Für Hugging Face Spaces nutzen wir Waitress statt development server serve(app, host="0.0.0.0", port=8080)