#!/usr/bin/env python3
"""Send Polymarket predictions to Telegram."""
import json, os
from datetime import datetime, timedelta, timezone
import requests

DIR = os.path.dirname(os.path.abspath(__file__))
CFG = json.load(open(os.path.join(DIR, 'config.json')))
BOT = f"https://api.telegram.org/bot{CFG['telegram_bot_token']}"
KST = timezone(timedelta(hours=9))


def main():
    print(f"[{datetime.now()}] Sending Polymarket update...")

    chat_id = CFG.get('chat_id')
    if not chat_id:
        print("ERROR: No chat_id.")
        return

    markets = CFG.get('polymarket', [])
    if not markets:
        print("  No markets configured.")
        return

    now = datetime.now(KST).strftime('%Y년 %m월 %d일 오전 6시 30분')
    lines = [f"<b>Polymarket 예측 시장</b>", f"{now}", ""]

    for m in markets:
        try:
            r = requests.get(f"https://gamma-api.polymarket.com/events?slug={m['slug']}",
                headers={'User-Agent': 'Mozilla/5.0'}, timeout=10)
            data = r.json()
            if data:
                event = data[0]
                mkt = event['markets'][0]
                prices = json.loads(mkt['outcomePrices'])
                yes_pct = float(prices[0]) * 100
                vol = float(event.get('volume', 0))
                vol_24h = float(event.get('volume24hr', 0))
                title = m.get('label', event['title'])
                lines.append(f"{title}: <b>{yes_pct:.1f}%</b>")
                lines.append(f"  총 거래량: ${vol:,.0f} / 24h: ${vol_24h:,.0f}")
        except Exception as e:
            print(f"  Error ({m['slug']}): {e}")

    msg = "\n".join(lines)
    r = requests.post(f"{BOT}/sendMessage", json={
        'chat_id': chat_id,
        'text': msg,
        'parse_mode': 'HTML',
        'disable_web_page_preview': True
    }, timeout=15)

    if r.json().get('ok'):
        print("  Sent!")
    else:
        print(f"  Failed: {r.json()}")


if __name__ == '__main__':
    main()
