#!/usr/bin/env python3
"""Step 1: Send verification code to phone number."""
import sys
import os
import json
from dotenv import load_dotenv
from telethon.sync import TelegramClient
from telethon.sessions import StringSession

load_dotenv()

if len(sys.argv) < 2:
    print("Usage: python auth_step1_send_code.py +380XXXXXXXXX")
    sys.exit(1)

phone = sys.argv[1]
api_id = int(os.getenv("TELEGRAM_API_ID"))
api_hash = os.getenv("TELEGRAM_API_HASH")

client = TelegramClient(StringSession(), api_id, api_hash)
client.connect()

result = client.send_code_request(phone)
session_str = StringSession.save(client.session)

# Save temp state for step 2
state = {
    "phone": phone,
    "phone_code_hash": result.phone_code_hash,
    "session": session_str,
}
with open("/home/serv3090/telegram-mcp/.auth_state.json", "w") as f:
    json.dump(state, f)

print(f"OK: Код отправлен на {phone}. Запусти step2 с кодом.")
client.disconnect()
