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)
}
func ParseMessage(line string) Message {
	
	

	ircMessage, err := parseIRCMessage(line)
	if err != nil {
		return parseRawMessage(ircMessage)
	}

	if mt, ok := messageTypeMap[ircMessage.Command]; ok {
		return mt.Parser(ircMessage)
	}

	return parseRawMessage(ircMessage)
}
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 ) }
// ParseMessage parse a raw Twitch IRC message
ParseMessage parse a raw Twitch IRC message