#!/usr/bin/env python3
"""Montag-Reminder: fragt Kais nach dem Wochen-Fokus (KAR-591). Zeigt den
aktuellen WEEKLY-FOCUS-Stand + bittet um Update."""
import os
import re
import sys
import urllib.parse
import urllib.request
from pathlib import Path

FOCUS = Path("/root/aria/brain/WEEKLY-FOCUS.md")
CHAT_ID = "1164395546"


def tg_token():
    for p in ["/root/.claude/channels/telegram/.env", "/root/aria/.env"]:
        f = Path(p)
        if f.exists():
            for line in f.read_text().splitlines():
                if "=" in line and not line.strip().startswith("#"):
                    k, _, v = line.partition("=")
                    if k.strip() in ("TG_TOKEN", "TELEGRAM_BOT_TOKEN", "TELEGRAM_TOKEN") and v.strip():
                        return v.strip().strip('"').strip("'")
    return os.environ.get("TG_TOKEN")


def md2(s):
    return re.sub(r"([_*\[\]()~`>#+\-=|{}.!\\])", r"\\\1", str(s))


def main():
    tok = tg_token()
    if not tok:
        print("no token", file=sys.stderr)
        return 1
    cur = ""
    if FOCUS.exists():
        m = re.search(r"\*Top-Fokus:\*\s*(.+)", FOCUS.read_text())
        cur = m.group(1).strip() if m else ""
    text = (
        "*Montag — Wochen\\-Fokus setzen* 🎯\n\n"
        "Was zaehlt diese Woche am meisten? \\(2 Min\\)\n"
        f"Aktuell gesetzt: _{md2(cur) if cur else 'nichts'}_\n\n"
        "Antworte einfach mit dem Fokus — ich trag ihn in `WEEKLY-FOCUS.md` ein und "
        "priorisiere alle Actions der Woche danach\\."
    )
    data = urllib.parse.urlencode({"chat_id": CHAT_ID, "text": text,
        "parse_mode": "MarkdownV2", "disable_web_page_preview": "true"}).encode()
    try:
        with urllib.request.urlopen(urllib.request.Request(
                f"https://api.telegram.org/bot{tok}/sendMessage", data=data, method="POST"), timeout=15) as r:
            return 0 if r.status == 200 else 1
    except Exception as e:
        print(f"tg err: {e}", file=sys.stderr)
        return 1


if __name__ == "__main__":
    sys.exit(main())
