protected void ProcessReply(object sender, Reply reply)
{
switch (reply.Command)
{
case "NOTICE":
Logger(reply.Trailing);
System.Media.SystemSounds.Beep.Play();
break;
case "PING":
this.Pong(reply.Trailing);
Logger(reply.ToString());
break;
case "JOIN" :
if (reply.Params.Count <= 0 && !Channels.ContainsKey(reply.Params[0]))
return;
break;
case "MODE":
break;
case "ERROR" :
Logger("error here");
break;
}
int code;
if (!int.TryParse(reply.Command, out code))
return;
switch ((ReplyCode)code)
{
// welcome messages
case ReplyCode.RplWelcome:
case ReplyCode.RplYourHost:
case ReplyCode.RplCreated:
case ReplyCode.RplMyInfo:
//case ReplyCode.RplMap: // map needs to be handled differently
//case ReplyCode.RplEndOfMap: // describes that the server supports
case ReplyCode.RplMotdStart:
case ReplyCode.RplMotd:
case ReplyCode.RplMotdAlt:
case ReplyCode.RplMotdAlt2:
case ReplyCode.RplMotdEnd:
case ReplyCode.RplUModeIs:
// LUser
case ReplyCode.RplLUserClient:
case ReplyCode.RplLUserOp:
case ReplyCode.RplLUserUnknown:
case ReplyCode.RplLUserChannels:
case ReplyCode.RplLUserMe:
case ReplyCode.RplLUserLocalUser:
case ReplyCode.RplLUserGlobalUser:
Logger(reply.Trailing);
break;
default:
Debug.WriteLine(reply.Trailing);
break;
}
Debug.WriteLine(reply.ToString());
}