docs: def connect(self):
          """|coro|
  
          Connect to ubisoft, automatically called when needed"""
          if time.time() < self._login_cooldown:
              raise FailedToConnect("login on cooldown")
  
          resp = yield from self.session.post("https://connect.ubi.com/ubiservices/v2/profiles/sessions", headers = {
              "Content-Type": "application/json",
              "Ubi-AppId": self.appid,
              "Authorization": "Basic " + self.token
          }, data=json.dumps({"rememberMe": True}))
  
          data = yield from resp.json()
  
          if "ticket" in data:
              self.key = data.get("ticket")
              self.sessionid = data.get("sessionId")
              self.uncertain_spaceid = data.get("spaceId")
          else:
              raise FailedToConnect