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
"""
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)