If you can’t get a library to work, then writing a parser yourself isn’t too difficult. The basic structure of an IRC message is:
@[tags] :[prefix] [command] [parameters] :trailing
Tags, prefix and trailing are optional. So if the message starts with an @, everything until the first space are the tags. If the following part starts with a colon, then everything until the next space is the prefix. Then everything until either the next colon or the end is the command and parameters, the first word being the command. The trailing is everything after the colon up until the end, which contains the actual chat message. (Also check out the RFC.)
When you parse that you’re left with variables like tags, prefix, command, parameters and trailing. The tags are separated by semicolons (you already split with that) and the key of each tag goes to the first = character. Also be aware of escape characters as specified in the spec (probably not revelant yet in your case, but you should handle them).
Once you parsed the tags as well, you can do stuff like if (command == "USERNOTICE" && tags['msg-id'] == "resub") and resubMessage = trailing. The channel would be parameters[0] (assuming you split them by space).