The case sensitivity on channel names is a Twitch thing. They really should just lowercase() the channel names, but they don’t.
The colon is IRC standard, however. And the effect of only getting the first word is a pretty classic bug effect when trying to interact with IRC servers.
I’d also like to add that to fully conform, you also need to terminate your IRC messages with an explicit trailing \r\n. (CR-LF)