private void DoUserLeftChannel(string channelName, string userName) { Channel channel = channels.Find(c => c.ChannelName == channelName); if (channel == null) { return; } channel.OnUserLeft(userName); if (userName == ProgramConstants.PLAYERNAME) { foreach (ChannelUser user in channel.Users) { RemoveChannelFromUser(user.IRCUser.Name, channelName); } if (!channel.Persistent) { channels.Remove(channel); } channel.ClearUsers(); return; } RemoveChannelFromUser(userName, channelName); }
private void DoUserLeftChannel(string channelName, string userName) { Channel channel = FindChannel(channelName); if (channel == null) { return; } channel.OnUserLeft(userName); if (userName == ProgramConstants.PLAYERNAME) { channel.Users.DoForAllUsers(user => { RemoveChannelFromUser(user.IRCUser.Name, channelName); }); if (!channel.Persistent) { channels.Remove(channel); } channel.ClearUsers(); return; } RemoveChannelFromUser(userName, channelName); }