import os
from datetime import datetime, timezone
from dotenv import load_dotenv
from t_tech.invest import Client, InstrumentIdType

# Настройка SSL для российских сертификатов (уже настроена на вашем сервере)
os.environ['SSL_CERT_FILE'] = '/etc/ssl/certs/ca-certificates.crt'
os.environ['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH'] = '/etc/ssl/certs/ca-certificates.crt'

load_dotenv("tok.env")
TOKEN = os.getenv("TINKOFF_TOKEN")
SBER_UID = "a78b8349-a1dc-447d-9277-1d75826d089a"

print("\n--- ЗАПУСК ДЕТЕКТОРА ЛЖИ API ---")

try:
    with Client(TOKEN, target="invest-public-api.tbank.ru:443") as client:
        # 1. Проверяем статус торгов прямо сейчас
        status = client.market_data.get_trading_status(instrument_id=SBER_UID)
        print(f"🔹 Статус торгов: {status.trading_status.name}")
        
        # 2. Запрашиваем цену и ВРЕМЯ этой цены
        lp_resp = client.market_data.get_last_prices(instrument_id=[SBER_UID])
        lp = lp_resp.last_prices[0]
        actual_price = lp.price.units + lp.price.nano / 1e9
        
        print(f"\n🔹 Цена в API: {actual_price} руб.")
        print(f"🔹 Время цены (UTC): {lp.time.strftime('%Y-%m-%d %H:%M:%S')}")
        
        # Сравниваем время
        now_utc = datetime.now(timezone.utc)
        print(f"🔹 Ваше время (UTC): {now_utc.strftime('%Y-%m-%d %H:%M:%S')}")
        
        # 3. Список ваших счетов
        accounts = client.users.get_accounts().accounts
        print("\n--- ВАШИ ДОСТУПНЫЕ СЧЕТА ---")
        for acc in accounts:
            portfolio = client.operations.get_portfolio(account_id=acc.id)
            print(f"ID: {acc.id} | Имя: {acc.name:10} | Тип: {acc.type.name} | Баланс: {portfolio.total_amount_currencies.units} руб.")

        if actual_price < 310:
            print("\n🚨 ЗАКЛЮЧЕНИЕ: Ваш API-токен подключен к ДЕМО-КОНТУРУ.")
            print("Цена 305.98 — это исторические данные мая 2024 года.")
        else:
            print("\n📈 ЗАКЛЮЧЕНИЕ: Вы на реальном рынке.")

except Exception as e:
    print(f"\n❌ ОШИБКА: {e}")
