IRC.Client.ProcessReply C# (CSharp) Method

ProcessReply() protected method

protected ProcessReply ( object sender, Reply reply ) : void
sender object
reply Reply
return void
        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());
        }