@classmethod
def parse_message_tags(cls, data):
    """
        Parses IRCv3.2 message tags from a message, as described at http://ircv3.net/specs/core/message-tags-3.2.html

        data is a list of command arguments, split by spaces.
        """
    if data[0].startswith('@'):
        tagdata = data[0].lstrip('@').split(';')
        for idx, tag in enumerate(tagdata):
            tag = tag.replace('\\s', ' ')
            tag = tag.replace('\\r', '\r')
            tag = tag.replace('\\n', '\n')
            tag = tag.replace('\\:', ';')
            tag = tag.replace('\\\\', '\x00')
            tag = tag.replace('\\', '')
            tag = tag.replace('\x00', '\\')
            tagdata[idx] = tag
        results = cls.parse_isupport(tagdata, fallback='')
        return results
    return {}
