Session persistence¶
aiosteampy/examples/session.py
import asyncio
import json
from pathlib import Path
cookie_file = Path("cookie.json")
async def main():
    from aiosteampy import SteamClient, Currency
    from aiosteampy.helpers import restore_from_cookies
    from aiosteampy.utils import get_jsonable_cookies
    client = SteamClient(
        steam_id=123456789,
        username="...",
        password="...",
        shared_secret="...",
        identity_secret="...",
        api_key="...",
        trade_token="...",
        wallet_currency=Currency.UAH,
        wallet_country="UA",
        proxy="socks5://username:pass@host:port",
    )
    if cookie_file.is_file():
        with cookie_file.open("r") as f:
            cookies = json.load(f)
        await restore_from_cookies(cookies, client)
    else:
        await client.login()
    try:
        ...  # do what you want
    finally:
        with cookie_file.open("w") as f:
            json.dump(get_jsonable_cookies(client.session), f)
        await client.session.close()
if __name__ == "__main__":
    import platform
    platform.system() == "Windows" and asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
    asyncio.run(main())