From 589705d6c5cf760c0d3c429f44e9ada658e5a290 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Thu, 9 Jul 2026 16:39:40 +0200 Subject: [PATCH] fix: Basti-Benachrichtigung via Dateisystem statt Telegram MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - notify_basti() schreibt .md-Dateien nach fehler-server/eingang/ - Format: YYYYMMDD-HHMMSS_ID.md mit Artikel-Link und Fehlerbeschreibung - Keine externe API nΓΆtig, funktioniert offline --- fehler-server/eingang/20260709-163935_3.md | 12 +++++ fehler-server/fehler.db | Bin 12288 -> 12288 bytes fehler-server/server.py | 51 +++++++++++---------- 3 files changed, 39 insertions(+), 24 deletions(-) create mode 100644 fehler-server/eingang/20260709-163935_3.md diff --git a/fehler-server/eingang/20260709-163935_3.md b/fehler-server/eingang/20260709-163935_3.md new file mode 100644 index 0000000..e553b58 --- /dev/null +++ b/fehler-server/eingang/20260709-163935_3.md @@ -0,0 +1,12 @@ +# πŸ› Fehlermeldung #3 + +**Artikel:** [#15526](https://www.brettspiel-news.de/index.php/de/component/content/article/15526) +**Gemeldet von:** Test System +**Datum:** 09.07.2026 16:39 + +## Fehlerbeschreibung + +Roxley wurde 2014 gegruendet, nicht 2013. Bitte pruefen und korrigieren. + +--- +*Status: offen | Bearbeiter: Basti* diff --git a/fehler-server/fehler.db b/fehler-server/fehler.db index 2bf4de3ba165261bd700aa57c8d181aea0127a24..ca498899a9c81af0ea2779897cde9fafbfa09d66 100644 GIT binary patch delta 357 zcmZojXh@hK&B!uQ#+i|2W5N=CE@r+O2LAc{ynHpA1qJf>>Kpl(xf#Tjc^hTLd5w(? zO-+r=LQ;!M6oM;@OHy-#@+)#uD;3I1i&9b*j0_A-6w*`Ei%L`TQc_EF6!J2YGfF_h z#(D})nI$Eu3I#y9wA4I>(!3Of?EIpl%=FCEqSQRS{4}7bk%5t!u7SC(fu(|>nU%4n zm9eQ&J*HSAKNHYJ!kUf3a2Gk|WENy5XQ$>kfGE9`R7`i3<>x85Czd7VDL577m***D z<|#NQ=At#p) delta 58 zcmZojXh@hK&B!!S#+i|6W5N=CHb(yW4E*yq3o14sK3H NW=YPp)Qp_eA^`rr5j6k+ diff --git a/fehler-server/server.py b/fehler-server/server.py index a09e524..7674f41 100644 --- a/fehler-server/server.py +++ b/fehler-server/server.py @@ -89,35 +89,38 @@ def update_status(rid, status, loesung): conn.close() # ═══════════════════════════════════════════════════ -# Telegram +# Basti-Benachrichtigung (Datei-basiert) # ═══════════════════════════════════════════════════ +FEHLER_EINGANG = os.path.join(os.path.dirname(os.path.abspath(__file__)), "eingang") + def notify_basti(report_id, article_id, name, text): - if not TELEGRAM_BOT_TOKEN or not TELEGRAM_CHAT_ID: - return + """Schreibt Fehlermeldung als .md-Datei fΓΌr Basti.""" + os.makedirs(FEHLER_EINGANG, exist_ok=True) + ts = datetime.now().strftime("%Y%m%d-%H%M%S") + fname = f"{ts}_{report_id}.md" + fpath = os.path.join(FEHLER_EINGANG, fname) - preview = text[:300] + ("…" if len(text) > 300 else "") - msg = ( - f"\U0001f41b *Neue Fehlermeldung* \\#{report_id}\n\n" - f"\U0001f4f0 *Artikel:* \\#{article_id}\n" - f"\U0001f464 *Von:* {name}\n\n" - f"\U0001f4dd *Fehler:*\n{preview}" - ) + url = f"https://www.brettspiel-news.de/index.php/de/component/content/article/{article_id}" - try: - payload = json.dumps({ - "chat_id": TELEGRAM_CHAT_ID, - "text": msg, - "parse_mode": "Markdown" - }).encode() - req = urllib.request.Request( - f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage", - data=payload, - headers={"Content-Type": "application/json"} - ) - urllib.request.urlopen(req, timeout=5) - except Exception as e: - print(f"[WARN] Telegram failed: {e}") + content = f"""# πŸ› Fehlermeldung #{report_id} + +**Artikel:** [#{article_id}]({url}) +**Gemeldet von:** {name} +**Datum:** {datetime.now().strftime('%d.%m.%Y %H:%M')} + +## Fehlerbeschreibung + +{text} + +--- +*Status: offen | Bearbeiter: Basti* +""" + with open(fpath, "w") as f: + f.write(content) + + print(f"[OK] Basti benachrichtigt β†’ {fname}") + return fpath # ═══════════════════════════════════════════════════ # HTML-Formular (inline, self-contained)