How long are you waiting and what are you using to determine the bot has joined or not? Twitch uses a severely decapitated version of IRC, fact that clients can connect at all is somewhat amazing. I’ve seen it take upward of 5 minutes before the JOIN completes (messages are batched on their end but keepalive is still required).
You should also wait between commands, even better would be waiting on a response where possible (CAP and login for example).