diff --git a/src/performance_reporter.py b/src/performance_reporter.py index cf30790..7bb73b7 100644 --- a/src/performance_reporter.py +++ b/src/performance_reporter.py @@ -1,17 +1,22 @@ #!/usr/bin/env python3 """ 3h Performance Report Generator -Sammelt Metriken und sendet an Telegram + Obsidian +Sammelt Metriken und sendet an Telegram (bizMark Trading Bot) + Obsidian """ import os import json +import sys from datetime import datetime, timedelta from binance.client import Client from dotenv import load_dotenv import requests +# Wechsel ins Arbeitsverzeichnis BEVOR load_dotenv() +sys.path.insert(0, '/home/marc/bot-deploy') os.chdir('/home/marc/bot-deploy') -load_dotenv() + +# Lade .env +load_dotenv('/home/marc/bot-deploy/.env') client = Client(os.getenv('BINANCE_API_KEY_LIVE'), os.getenv('BINANCE_API_SECRET_LIVE')) @@ -83,8 +88,7 @@ def format_telegram_report(metrics): if 'error' in metrics: return f"โŒ Report-Fehler: {metrics['error']}" - report = f""" -๐Ÿ“Š **3h Performance Report** + report = f"""๐Ÿ“Š **3h Performance Report** Zeitstempel: {metrics['timestamp']} ๐Ÿ’ฐ **Portfolio:** @@ -141,12 +145,17 @@ def format_obsidian_report(metrics): return report def send_telegram_report(message): - """Sendet Report an Telegram""" + """Sendet Report an Telegram via bizMark Trading Bot""" try: - # Marc Telegram: 7646180954 - token = os.getenv('TELEGRAM_BOT_TOKEN') - chat_id = 7646180954 - url = f'https://api.telegram.org/bot{token}/sendMessage' + bot_token = os.getenv('TELEGRAM_BOT_TOKEN') + chat_id = os.getenv('TELEGRAM_CHAT_ID') + + if not bot_token or not chat_id: + print("โŒ Telegram Credentials nicht gefunden in .env") + return False + + # Telegram Bot API + url = f'https://api.telegram.org/bot{bot_token}/sendMessage' payload = { 'chat_id': chat_id, @@ -155,12 +164,22 @@ def send_telegram_report(message): } response = requests.post(url, json=payload, timeout=10) + if response.status_code == 200: - print(f"โœ… Telegram Report versendet") - return True + result = response.json() + if result.get('ok'): + print(f"โœ… Telegram Report versendet (Message ID: {result['result']['message_id']})") + return True + else: + print(f"โŒ Telegram-API-Fehler: {result.get('description')}") + return False + else: + print(f"โŒ HTTP-Fehler: {response.status_code}") + return False + except Exception as e: print(f"โŒ Telegram-Fehler: {e}") - return False + return False def append_obsidian_report(message): """Hรคngt Report an Obsidian Session-Datei an""" @@ -196,10 +215,12 @@ def main(): if 'error' not in metrics: print(f" โœ… {metrics['active_positions']} aktive Trades") print(f" โœ… ${metrics['usdt_free']:.2f} USDT verfรผgbar") + else: + print(f" โŒ Fehler: {metrics['error']}") print("\n๐Ÿ“ค Sende Reports...") - # Telegram + # Telegram via bizMark Trading Bot tg_msg = format_telegram_report(metrics) send_telegram_report(tg_msg)