#!/usr/bin/env python3 """ Hermes Telegram User Account — Login Script v3 Passa phone e code_callback explicitamente via kwargs do start() """ import os import time import asyncio from telethon import TelegramClient API_ID = 35430577 API_HASH = "bf7926bd5830a1d2ebf502e538a0d816" SESSION_PATH = os.path.expanduser("~/.hermes/telegram_user.session") PHONE = "+5511991975554" CODE_FILE = "/tmp/telegram_code.txt" def get_code(): """Lê o código do arquivo, esperando até 120s se não existir.""" print(f"Aguardando código em {CODE_FILE} ...", flush=True) for i in range(120): if os.path.exists(CODE_FILE): with open(CODE_FILE) as f: code = f.read().strip() if code: os.remove(CODE_FILE) print(f"Código recebido: {code}", flush=True) return code time.sleep(1) raise TimeoutError("Tempo esgotado aguardando código") async def main(): print("=" * 50) print("Hermes Telegram — Login com Conta de Usuário") print("=" * 50) print(f"Sessão: {SESSION_PATH}") print(f"Telefone: {PHONE}", flush=True) print() client = TelegramClient(SESSION_PATH, API_ID, API_HASH) # Inicia com phone e code_callback via kwargs await client.start( phone=lambda: PHONE, code_callback=get_code ) me = await client.get_me() print() print("=" * 50) print("✅ LOGIN REALIZADO COM SUCESSO!") print("=" * 50) print(f"ID: {me.id}") print(f"Nome: {me.first_name} {me.last_name or ''}") print(f"Username: @{me.username}") print(f"Telefone: {me.phone}") print() print("Sessão salva em: ~/.hermes/telegram_user.session", flush=True) if __name__ == "__main__": asyncio.run(main())