code: func ParseMessage(line string) Message {
  	// Uncomment this and recoverMessage if debugging a message that crashes the parser
  	//defer recoverMessage(line)
  
  	ircMessage, err := parseIRCMessage(line)
  	if err != nil {
  		return parseRawMessage(ircMessage)
  	}
  
  	if mt, ok := messageTypeMap[ircMessage.Command]; ok {
  		return mt.Parser(ircMessage)
  	}
  
  	return parseRawMessage(ircMessage)
  }
docs: // ParseMessage parse a raw Twitch IRC message