parseSpecialcases

Takes a slice of a raw IRC string and continues parsing it into an IRCEvent struct.

This function only focuses on specialcasing the remaining line, dividing it into fields like target, channel, content, etc.

IRC events are *riddled* with inconsistencies and specialcasings, so this function is very very long, but by necessity.

The IRCEvent is finished at the end of this function.

private pure @safe
void
parseSpecialcases
(,,
ref string slice
)

Parameters

parser IRCParser

Reference to the current IRCParser.

event IRCEvent

Reference to the IRCEvent to continue working on.

slice string

Reference to the slice of the raw IRC string.

Throws

IRCParseException if an unknown to-connect-type event was encountered, or if the event was not recognised at all, as neither a normal type nor a numeric.