docs: def regionsbytag(self, *tags):
          """All regions with any of the named tags.
  
          Parameters
          ----------
          *tags : str
              Regional tags.  Can be preceded by a ``-`` to select regions
              without that tag.
  
          Returns
          -------
          an :class:`ApiQuery` of a list of :class:`Region`
          """
          if len(tags) > 10:
              raise ValueError('You can specify up to 10 tags')
          if not tags:
              raise ValueError('No tags specified')
  
          # We don't check for invalid tags here because the behaviour is
          # fairly intuitive - quering for a non-existent tag returns no
          # regions, excluding it returns all of them.
          @api_query('regionsbytag', tags=','.join(tags))
          async def result(_, root):
              text = root.find('REGIONS').text
              return ([aionationstates.Region(r) for r in text.split(',')]
                      if text else [])
          return result(self)