Fix: performance_reporter nutzt bizMark Trading Bot Credentials aus .env - Reports auf Telegram bot ankommen
This commit is contained in:
parent
3a65500c6b
commit
70e58ac0a7
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue