gets all user's tournaments

        |methcoro|

        Args:
            subdomain: *optional* subdomain needs to be given explicitely to get tournaments in a subdomain
            force_update: *optional* set to True to force the data update from Challonge

        Returns:
            list[Tournament]: list of all the user tournaments

        Raises:
            APIException

async def get_tournaments(self, subdomain: str = None, force_update: bool = False) -> list:
        """ gets all user's tournaments

        |methcoro|

        Args:
            subdomain: *optional* subdomain needs to be given explicitely to get tournaments in a subdomain
            force_update: *optional* set to True to force the data update from Challonge

        Returns:
            list[Tournament]: list of all the user tournaments

        Raises:
            APIException

        """
        if self.tournaments is None:
            force_update = True
            self._subdomains_searched.append('' if subdomain is None else subdomain)
        elif subdomain is None and '' not in self._subdomains_searched:
            force_update = True
            self._subdomains_searched.append('')
        elif subdomain is not None and subdomain not in self._subdomains_searched:
            force_update = True
            self._subdomains_searched.append(subdomain)

        if force_update:
            params = {
                'include_participants': 1 if AUTO_GET_PARTICIPANTS else 0,
                'include_matches': 1 if AUTO_GET_MATCHES else 0
            }
            if subdomain is not None:
                params['subdomain'] = subdomain

            res = await self.connection('GET', 'tournaments', **params)
            if len(res) == 0:
                self.tournaments = []
            else:
                for t_data in res:
                    self._refresh_tournament_from_json(t_data)

        return self.tournaments