Fix: performance_reporter nutzt bizMark Trading Bot Credentials aus .env - Reports auf Telegram bot ankommen

This commit is contained in:
Marc Blatter 2026-07-10 08:17:48 +02:00
parent 3a65500c6b
commit 70e58ac0a7
1 changed files with 34 additions and 13 deletions

View File

@ -1,17 +1,22 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
""" """
3h Performance Report Generator 3h Performance Report Generator
Sammelt Metriken und sendet an Telegram + Obsidian Sammelt Metriken und sendet an Telegram (bizMark Trading Bot) + Obsidian
""" """
import os import os
import json import json
import sys
from datetime import datetime, timedelta from datetime import datetime, timedelta
from binance.client import Client from binance.client import Client
from dotenv import load_dotenv from dotenv import load_dotenv
import requests import requests
# Wechsel ins Arbeitsverzeichnis BEVOR load_dotenv()
sys.path.insert(0, '/home/marc/bot-deploy')
os.chdir('/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')) 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: if 'error' in metrics:
return f"❌ Report-Fehler: {metrics['error']}" return f"❌ Report-Fehler: {metrics['error']}"
report = f""" report = f"""📊 **3h Performance Report**
📊 **3h Performance Report**
Zeitstempel: {metrics['timestamp']} Zeitstempel: {metrics['timestamp']}
💰 **Portfolio:** 💰 **Portfolio:**
@ -141,12 +145,17 @@ def format_obsidian_report(metrics):
return report return report
def send_telegram_report(message): def send_telegram_report(message):
"""Sendet Report an Telegram""" """Sendet Report an Telegram via bizMark Trading Bot"""
try: try:
# Marc Telegram: 7646180954 bot_token = os.getenv('TELEGRAM_BOT_TOKEN')
token = os.getenv('TELEGRAM_BOT_TOKEN') chat_id = os.getenv('TELEGRAM_CHAT_ID')
chat_id = 7646180954
url = f'https://api.telegram.org/bot{token}/sendMessage' 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 = { payload = {
'chat_id': chat_id, 'chat_id': chat_id,
@ -155,12 +164,22 @@ def send_telegram_report(message):
} }
response = requests.post(url, json=payload, timeout=10) response = requests.post(url, json=payload, timeout=10)
if response.status_code == 200: if response.status_code == 200:
print(f"✅ Telegram Report versendet") result = response.json()
return True 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: except Exception as e:
print(f"❌ Telegram-Fehler: {e}") print(f"❌ Telegram-Fehler: {e}")
return False return False
def append_obsidian_report(message): def append_obsidian_report(message):
"""Hängt Report an Obsidian Session-Datei an""" """Hängt Report an Obsidian Session-Datei an"""
@ -196,10 +215,12 @@ def main():
if 'error' not in metrics: if 'error' not in metrics:
print(f"{metrics['active_positions']} aktive Trades") print(f"{metrics['active_positions']} aktive Trades")
print(f" ✅ ${metrics['usdt_free']:.2f} USDT verfügbar") print(f" ✅ ${metrics['usdt_free']:.2f} USDT verfügbar")
else:
print(f" ❌ Fehler: {metrics['error']}")
print("\n📤 Sende Reports...") print("\n📤 Sende Reports...")
# Telegram # Telegram via bizMark Trading Bot
tg_msg = format_telegram_report(metrics) tg_msg = format_telegram_report(metrics)
send_telegram_report(tg_msg) send_telegram_report(tg_msg)