Help me with my bot

Besides my above point being a fault in your code I see the real problem now. You have a private string member variable called channel which is never initialized (and does not look like it is intended to be used). The joinRoom method has a parameter with the same name, and the member variable takes precedence in the confusion. So the line outputStream.WriteLine("JOIN #" + channel); is actually called on the uninitialized member variable instead of the parameter with the same name.

Change the line to:
this.channel = channel;
outputStream.WriteLine("JOIN #" + this.channel);

or better yet, adopt a better naming convention to avoid future mixups.