import asyncio from pathlib import Path from userbot.modules.client import PyroClient from utils.env import env from utils.logging import logger, setup_logging setup_logging() def _prepare_sessions_dir() -> Path: sessions_dir = Path(env.tg.sessions_dir) sessions_dir.mkdir(parents=True, exist_ok=True) return sessions_dir def _finalize_session(sessions_dir: Path, name: str) -> Path: target = sessions_dir / f"{name}.session" (sessions_dir / "generated.session").rename(target) return target async def main() -> None: sessions_dir = _prepare_sessions_dir() client = PyroClient("generated", workdir=str(sessions_dir)) await client.start() me = client.me await client.stop() target = _finalize_session(sessions_dir, str(me.id) if me else "unknown") logger.info(f"[green]Session saved:[/] {target}") if __name__ == "__main__": asyncio.run(main())