def send_media_group(self, chat_id, media, disable_notification=None, reply_to_message_id=None):
        """
        Use this method to send a group of photos or videos as an album. On success, an array of the sent Messages is returned.

        https://core.telegram.org/bots/api#sendmediagroup


        Parameters:

        :param chat_id: Unique identifier for the target chat or username of the target channel (in the format @channelusername)
        :type  chat_id: int | str|unicode

        :param media: A array describing photos and videos to be sent, must include 2–10 items
        :type  media: list of (pytgbot.api_types.sendable.input_media.InputMediaPhoto|pytgbot.api_types.sendable.input_media.InputMediaVideo)


        Optional keyword parameters:

        :param disable_notification: Sends the messages silently. Users will receive a notification with no sound.
        :type  disable_notification: bool

        :param reply_to_message_id: If the messages are a reply, ID of the original message
        :type  reply_to_message_id: int

        Returns:

        :return: On success, an array of the sent Messages is returned
        :rtype:  Messages
        """
        assert_type_or_raise(chat_id, (int, unicode_type), parameter_name="chat_id")
        from .api_types.sendable.input_media import InputMediaPhoto, InputMediaVideo

        files = {}
        new_media = []
        assert_type_or_raise(media, list, parameter_name="media")
        for i, medium in enumerate(media):
            assert_type_or_raise(medium, InputMediaPhoto, InputMediaVideo, parameter_name="media[{i}]".format(i=i))
            assert isinstance(medium, (InputMediaPhoto, InputMediaVideo))
            new_medium, file = medium.get_request_data('pytgbot{i}'.format(i=i), full_data=True)
            logger.debug('InputMedia {} found.'.format(new_medium))
            new_media.append(new_medium)
            if file:
                files.update(file)
            # end if
        # end for
        new_media = json.dumps(new_media)

        assert_type_or_raise(disable_notification, None, bool, parameter_name="disable_notification")

        assert_type_or_raise(reply_to_message_id, None, int, parameter_name="reply_to_message_id")

        result = self.do(
            "sendMediaGroup", chat_id=chat_id, media=new_media, files=files,
            disable_notification=disable_notification, reply_to_message_id=reply_to_message_id,
        )
        if self.return_python_objects:
            logger.debug("Trying to parse {data}".format(data=repr(result)))    # no valid parsing so far
            if not isinstance(result, list):
                raise TgApiParseException("Could not parse result als list.")  # See debug log for details!
            # end if
            from .api_types.receivable.updates import Message
            return [Message.from_array(msg) for msg in result]  # parse them all as Message.
            raise TgApiParseException("Could not parse result.")  # See debug log for details!
        # end if return_python_objects
        return result