nodes: 0, module; 1, function_definition; 2, function_name:get_streams; 3, parameters; 4, block; 5, identifier:self; 6, default_parameter; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, expression_statement; 11, if_statement; 12, expression_statement; 13, expression_statement; 14, if_statement; 15, expression_statement; 16, expression_statement; 17, return_statement; 18, identifier:game; 19, None; 20, identifier:channels; 21, None; 22, identifier:limit; 23, integer:25; 24, identifier:offset; 25, integer:0; 26, comment:"""Return a list of streams queried by a number of parameters
          sorted by number of viewers descending
  
          :param game: the game or name of the game
          :type game: :class:`str` | :class:`models.Game`
          :param channels: list of models.Channels or channel names (can be mixed)
          :type channels: :class:`list` of :class:`models.Channel` or :class:`str`
          :param limit: maximum number of results
          :type limit: :class:`int`
          :param offset: offset for pagination
          :type offset: :class:`int`
          :returns: A list of streams
          :rtype: :class:`list` of :class:`models.Stream`
          :raises: None
          """; 27, call; 28, block; 29, assignment; 30, assignment; 31, identifier:channels; 32, block; 33, assignment; 34, assignment; 35, call; 36, identifier:isinstance; 37, argument_list; 38, expression_statement; 39, identifier:channelnames; 40, list; 41, identifier:cparam; 42, None; 43, for_statement; 44, expression_statement; 45, identifier:params; 46, dictionary; 47, identifier:r; 48, call; 49, attribute; 50, argument_list; 51, identifier:game; 52, attribute; 53, assignment; 54, identifier:c; 55, identifier:channels; 56, block; 57, assignment; 58, pair; 59, pair; 60, pair; 61, pair; 62, attribute; 63, argument_list; 64, attribute; 65, identifier:wrap_search; 66, identifier:r; 67, identifier:models; 68, identifier:Game; 69, identifier:game; 70, attribute; 71, if_statement; 72, expression_statement; 73, identifier:cparam; 74, call; 75, string; 76, identifier:limit; 77, string; 78, identifier:offset; 79, string; 80, identifier:game; 81, string; 82, identifier:cparam; 83, identifier:self; 84, identifier:kraken_request; 85, string; 86, string; 87, keyword_argument; 88, identifier:models; 89, identifier:Stream; 90, identifier:game; 91, identifier:name; 92, call; 93, block; 94, call; 95, attribute; 96, argument_list; 97, string_content:limit; 98, string_content:offset; 99, string_content:game; 100, string_content:channel; 101, string_content:GET; 102, string_content:streams; 103, identifier:params; 104, identifier:params; 105, identifier:isinstance; 106, argument_list; 107, expression_statement; 108, attribute; 109, argument_list; 110, string; 111, identifier:join; 112, identifier:channelnames; 113, identifier:c; 114, attribute; 115, assignment; 116, identifier:channelnames; 117, identifier:append; 118, identifier:c; 119, string_content:,; 120, identifier:models; 121, identifier:Channel; 122, identifier:c; 123, attribute; 124, identifier:c; 125, identifier:name
code: def get_streams(self, game=None, channels=None, limit=25, offset=0):
          """Return a list of streams queried by a number of parameters
          sorted by number of viewers descending
  
          :param game: the game or name of the game
          :type game: :class:`str` | :class:`models.Game`
          :param channels: list of models.Channels or channel names (can be mixed)
          :type channels: :class:`list` of :class:`models.Channel` or :class:`str`
          :param limit: maximum number of results
          :type limit: :class:`int`
          :param offset: offset for pagination
          :type offset: :class:`int`
          :returns: A list of streams
          :rtype: :class:`list` of :class:`models.Stream`
          :raises: None
          """
          if isinstance(game, models.Game):
              game = game.name
  
          channelnames = []
          cparam = None
          if channels:
              for c in channels:
                  if isinstance(c, models.Channel):
                      c = c.name
                  channelnames.append(c)
              cparam = ','.join(channelnames)
  
          params = {'limit': limit,
                    'offset': offset,
                    'game': game,
                    'channel': cparam}
  
          r = self.kraken_request('GET', 'streams', params=params)
          return models.Stream.wrap_search(r)