protected internal void ProcessMessageReplyWhoIsChannels(IrcMessage message)
{
Debug.Assert(message.Parameters[0] == localUser.NickName);
Debug.Assert(message.Parameters[1] != null);
var user = GetUserFromNickName(message.Parameters[1]);
Debug.Assert(message.Parameters[2] != null);
foreach (var channelId in message.Parameters[2].Split(' '))
{
if (channelId.Length == 0)
return;
// Find user by nick name and add it to collection of channel users.
var channelNameAndUserMode = GetUserModeAndNickName(channelId);
var channel = GetChannelFromName(channelNameAndUserMode.Item1);
if (channel.GetChannelUser(user) == null)
channel.HandleUserJoined(new IrcChannelUser(user, channelNameAndUserMode.Item2));
}
}