From abea08943246b21005e38ec49423904f5af963d5 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 1 Mar 2026 00:04:22 +0700 Subject: [PATCH] =?UTF-8?q?fix(fuenfvoacht):=20Nachmittags-Reminder=20pr?= =?UTF-8?q?=C3=BCft=20alle=20Slots=20statt=20nur=20Hauptslot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit job_reminder_afternoon prüfte nur channel.post_time (19:55), Artikel auf anderen Zeitslots (z.B. 19:45) wurden als fehlend gemeldet. Jetzt werden alle approved/scheduled Artikel des Tages geprüft. Made-with: Cursor --- fuenfvoacht/src/bot.py | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/fuenfvoacht/src/bot.py b/fuenfvoacht/src/bot.py index 425ff159..b41fe53f 100644 --- a/fuenfvoacht/src/bot.py +++ b/fuenfvoacht/src/bot.py @@ -251,23 +251,19 @@ async def job_post_articles(bot: Bot): async def job_check_notify(bot: Bot): - """Prüft alle 5 Min ob scheduled-Artikel zur Bot-Benachrichtigung fällig sind.""" + """Prüft alle 5 Min ob scheduled-Artikel fällig sind → direkt approved setzen.""" due = db.get_due_notifications() for article in due: d = article['date'] pt = article['post_time'] - text = ( - f"📋 Review: {d} · {pt} Uhr\n" - f"Version {article['version']}\n" - f"──────────────────────\n\n" - f"{article['content_final']}\n\n" - f"──────────────────────\n" - f"Freigeben oder bearbeiten?" + db.update_article_status(d, 'approved', post_time=pt) + await notify_reviewers( + bot, + f"📅 Artikel eingeplant\n\n" + f"📆 {d} um {pt} Uhr\n" + f"Wird automatisch gepostet." ) - await notify_reviewers(bot, text, - reply_markup=review_keyboard(d, pt)) - db.update_article_status(d, 'sent_to_bot', post_time=pt) - flog.article_sent_to_bot(d, pt, db.get_reviewer_chat_ids()) + flog.info('article_auto_approved', date=d, post_time=pt) async def job_morning_briefing(bot: Bot): @@ -330,17 +326,16 @@ async def job_cleanup_db(): async def job_reminder_afternoon(bot: Bot): - """Nachmittags-Reminder wenn Hauptslot noch nicht freigegeben.""" + """Nachmittags-Reminder wenn kein Artikel eingeplant ist.""" d = today_str() - channel = db.get_channel() - post_t = channel.get('post_time', POST_TIME) - art = db.get_article_by_date(d, post_t) - if art and art['status'] in ('sent_to_bot', 'pending_review', 'draft', 'scheduled'): + articles_today = db.get_articles_by_date(d) + approved_today = [a for a in articles_today if a['status'] in ('approved', 'scheduled', 'sent_to_bot')] + if not approved_today: await notify_reviewers( bot, - f"⚠️ Noch nicht freigegeben!\n\n" - f"Posting um {post_t} Uhr — bitte jetzt freigeben.", - reply_markup=review_keyboard(d, post_t) if art['status'] == 'sent_to_bot' else None + f"⚠️ Noch kein Artikel eingeplant!\n\n" + f"Für heute ({d}) ist kein freigegebener Artikel vorhanden.\n" + f"👉 Dashboard: http://100.73.171.62:8080" )