private void handleJoin(BroadcastChatClient client, string channel) { if (!channel.StartsWith("#")) { client.SendErrorChannelName(channel); } else { if (!server.Channels.ContainsKey(channel)) { server.Channels.Add(channel, new BroadcastChatChannel(channel)); } if (server.Channels[channel].Clients.ContainsKey(client.Nick)) { client.SendErrorInChannel(channel); } else if (server.Channels[channel].BannedClients.ContainsKey(client.Nick)) { client.SendErrorBanned(channel); } else { var chan = server.Channels[channel]; chan.SendJoin(client); client.SendTopic(chan.Name, chan.TopicSetter, chan.Topic); handleUserList(client, channel); } } }