docs: def connect(self, username, checksum, password=None, key=None):
          """Connect to websocket through asyncio http interface"""
  
          ws_url = (
              f"{BASE_WS_URL}?room={self.room.room_id}&cs={checksum}&nick={username}"
              f"&rn={random_id(6)}&t={int(time.time() * 1000)}&transport=websocket&EIO=3"
          )
          if password:
              ws_url += f"&password={password}"
          elif key:
              ws_url += f"&key={key}"
  
          ARBITRATOR.create_connection(
              self.proto, ws_url, self.headers["User-Agent"], self.cookies
          )
          self.__conn_barrier.wait()