Improve Telegram notifications and update automation

- Enhanced Telegram message format to show TOP 3 by Confidence AND Quality
- Added average statistics (Confidence & Quality) to notifications
- Generated new tips with updated data (3,090 draws, latest: Jan 10)
- Added run_update_and_learn.sh wrapper script
- Created com.lotto.update.plist for automated updates
- Updated AlleLottozahlen.csv with latest draws

Benefits:
- Better tip selection with dual metrics visibility
- Clearer understanding of tip performance
- More informed decision-making for users

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-14 10:47:27 +01:00
co-authored by Claude Sonnet 4.5
parent 42a00d3fc4
commit 9d2e4dfbc9
6 changed files with 3197 additions and 4983 deletions
+20 -9
View File
@@ -115,20 +115,31 @@ class LottoNotifier:
message += f"🎯 Ø Confidence: `{avg_conf:.4f}`\n"
message += f"💎 Ø Quality: `{avg_qual:.4f}`\n\n"
# Top 5 Tipps mit Details
message += "🏆 *TOP 5 EMPFEHLUNGEN:*\n"
# Top 3 nach Confidence
message += "🎯 *TOP 3 NACH CONFIDENCE:*\n"
message += "━━━━━━━━━━━━━━━━━━━━━━━\n"
sorted_tips = sorted(tips, key=lambda t: t['confidence'], reverse=True)[:5]
for i, tip in enumerate(sorted_tips, 1):
# Emoji basierend auf Rang
emoji = "🏆" if i == 1 else "🥈" if i == 2 else "🥉" if i == 3 else ""
sorted_by_conf = sorted(tips, key=lambda t: t['confidence'], reverse=True)[:3]
for i, tip in enumerate(sorted_by_conf, 1):
emoji = "🥇" if i == 1 else "🥈" if i == 2 else "🥉"
nums = '-'.join([f"{n:02d}" for n in tip['numbers']])
message += f"\n{emoji} *#{i}* Conf: `{tip['confidence']:.2%}`\n"
message += f"\n{emoji} *#{i}* Conf: `{tip['confidence']:.2%}` | Q: `{tip['quality']:.3f}`\n"
message += f"🔢 `{nums}` + SZ `{tip['superzahl']}`\n"
message += f"📈 {tip['strategy']} | Q: `{tip['quality']:.3f}`\n"
message += f"📈 {tip['strategy']}\n"
# Top 3 nach Quality
message += "\n💎 *TOP 3 NACH QUALITY:*\n"
message += "━━━━━━━━━━━━━━━━━━━━━━━\n"
sorted_by_qual = sorted(tips, key=lambda t: t['quality'], reverse=True)[:3]
for i, tip in enumerate(sorted_by_qual, 1):
emoji = "🥇" if i == 1 else "🥈" if i == 2 else "🥉"
nums = '-'.join([f"{n:02d}" for n in tip['numbers']])
message += f"\n{emoji} *#{i}* Q: `{tip['quality']:.3f}` | Conf: `{tip['confidence']:.2%}`\n"
message += f"🔢 `{nums}` + SZ `{tip['superzahl']}`\n"
message += f"📈 {tip['strategy']}\n"
message += "\n💡 Alle 10 Tipps in der CSV-Datei!\n"
message += "🍀 *Viel Glück!*"