diff --git a/steampy/client.py b/steampy/client.py index fb5f2ae..6ee9a36 100644 --- a/steampy/client.py +++ b/steampy/client.py @@ -27,7 +27,7 @@ def __init__(self, api_key: str, username: str = None, password: str = None, ste self.set_proxies(proxies) self.steam_guard_string = steam_guard if self.steam_guard_string is not None: - self.steam_guard = guard.load_steam_guard(self.steam_guard) + self.steam_guard = guard.load_steam_guard(self.steam_guard_string) else: self.steam_guard = None self.was_login_executed = False @@ -64,9 +64,6 @@ def get_steam_id(self) -> int: raise ValueError('Invalid steam_id: {}'.format(steam_id)) def login(self, username: str = None, password: str = None, steam_guard: str = None) -> None: - if self.was_login_executed and self.is_session_alive(): - # session is alive, no need login again - return if None in [self.username, self._password, self.steam_guard_string] and None in [username, password, steam_guard]: raise InvalidCredentials('You have to pass username, password and steam_guard' @@ -74,9 +71,14 @@ def login(self, username: str = None, password: str = None, steam_guard: str = N if None in [self.username, self._password, self.steam_guard_string]: self.steam_guard_string = steam_guard - self.steam_guard = guard.load_steam_guard(steam_guard) + self.steam_guard = guard.load_steam_guard(self.steam_guard_string) self.username = username self._password = password + + if self.was_login_executed and self.is_session_alive(): + # session is alive, no need login again + return + self._session.cookies.set("steamRememberLogin", 'true') LoginExecutor(self.username, self._password, self.steam_guard['shared_secret'], self._session).login() self.was_login_executed = True