#!/usr/bin/env python3
"""Quick X re-auth using twikit."""
import asyncio
import json
from pathlib import Path

try:
    from twikit import Client
except ImportError:
    print("pip install twikit")
    exit(1)

COOKIES_PATH = Path(__file__).parent / "x_cookies.json"

async def main():
    client = Client('en-US')
    
    print("Note: X may require email verification code")
    print("Login: @cannadealsfl")
    
    # Try to load existing cookies first to check if any are still valid
    if COOKIES_PATH.exists():
        print("Loading existing cookies to test...")
        cookies = json.loads(COOKIES_PATH.read_text())
        client.set_cookies(cookies)
        try:
            await client.user()
            print("✅ Cookies still valid!")
            return
        except:
            print("❌ Cookies expired, need re-auth")
    
    # Do login flow
    email = "crogers2287@gmail.com"
    username = "cannadealsfl"
    password = input("Enter X password: ")
    
    try:
        await client.login(
            auth_info_1=email,
            auth_info_2=username, 
            password=password
        )
        
        # Save cookies
        cookies = client.get_cookies()
        COOKIES_PATH.write_text(json.dumps(cookies, indent=2))
        print(f"✅ Login successful! Cookies saved to {COOKIES_PATH}")
        
    except Exception as e:
        print(f"❌ Login failed: {e}")

if __name__ == "__main__":
    asyncio.run(main())
