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
|
#!/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)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue