37 lines
912 B
Python
37 lines
912 B
Python
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())
|