import sys
import os
import asyncio

# Fix Python 3.12/3.14+ MainThread event loop requirement for Pyrogram
try:
    loop = asyncio.get_event_loop()
except RuntimeError:
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)

try:
    from pyrogram import Client
except ImportError:
    import subprocess
    print("Installing pyrogram library...")
    subprocess.check_call([sys.executable, "-m", "pip", "install", "pyrogram==2.0.106"])
    from pyrogram import Client

API_ID = 35408643
API_HASH = "9c690318646543daa057cc714e91f540"

def main():
    print("==================================================")
    print("🚀 TELEGRAM INSTANT STRING SESSION GENERATOR")
    print("==================================================")
    print("This tool generates official Pyrogram String Sessions")
    print("from your PC so OTP arrives instantly on your Telegram app!\n")

    app = Client("temp_session_gen", api_id=API_ID, api_hash=API_HASH, in_memory=True)

    try:
        app.start()
        session_str = app.export_session_string()
        me = app.get_me()
        
        print("\n" + "="*50)
        print(f"🎉 SUCCESS! String Session generated for {me.first_name} ({me.phone_number}):")
        print("="*50 + "\n")
        print(session_str)
        print("\n" + "="*50)
        print("👉 Copy the long string above and paste it into Method 1")
        print("   on your Web Panel: https://tg.big-win.us.cc/sessions")
        print("="*50 + "\n")
        app.stop()
    except Exception as e:
        print(f"\n❌ Error generating session: {e}")

    input("\nPress Enter to exit...")

if __name__ == '__main__':
    main()
