Exemple #1
0
        public ServerErrorMessage GetServerError(IRCErrorCode errorCode, string match)
        {
            GetError error = new GetError();

            error.Error       = errorCode;
            error.Match       = match;
            ServerReplyEvent += (sender, e) => HandleError(sender, e, error);
            error.Ready.Wait(TimeSpan.FromMilliseconds(5000));
            return(error.Result);
        }
Exemple #2
0
        private void HandleError(object sender, IReply message, GetError error)
        {
            bool  errorFound = false;
            Regex errorRegex = new Regex(error.Match);

            if (message.GetType() == typeof(ServerErrorMessage))
            {
                ServerErrorMessage msg = (ServerErrorMessage)message;
                errorFound = error.Error.Equals(msg.ErrorCode);

                if (errorFound && errorRegex.IsMatch(msg.Message))
                {
                    error.Result = msg;
                    error.Ready.Set();
                }
            }
        }