import os
from flask import Flask, request, jsonify

app = Flask(__name__)

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
LOG_FILE = os.path.join(BASE_DIR, "telegram_updates.log")

@app.route("/")
def home():
    return "Python webhook app is working"

@app.route("/telegram/webhook", methods=["GET", "POST"])
def telegram_webhook():
    if request.method == "GET":
        return f"Telegram webhook endpoint is ready. Log path: {LOG_FILE}"

    data = request.get_json(silent=True) or {}

    try:
        with open(LOG_FILE, "a", encoding="utf-8") as f:
            f.write(str(data) + "\n\n")
        return jsonify({"ok": True, "logged_to": LOG_FILE})
    except Exception as e:
        return jsonify({"ok": False, "error": str(e), "log_file": LOG_FILE}), 500

@app.route("/test-write")
def test_write():
    try:
        with open(LOG_FILE, "a", encoding="utf-8") as f:
            f.write("manual test write\n")
        return f"Write successful: {LOG_FILE}"
    except Exception as e:
        return f"Write failed: {e}", 500