Exemple #1
0
        /// <summary>
        /// Creates an IRC user from a names command fragment.
        /// </summary>
        /// <param name="input">The names command fragment.</param>
        /// <returns>The parsed user.</returns>
        public static IRCUser Parse(string input)
        {
            IRCUserMode mode     = IRCUserMode.Normal;
            string      nickname = input;

            if (input.StartsWith("+", StringComparison.OrdinalIgnoreCase))
            {
                mode = IRCUserMode.Voice;
            }
            else if (input.StartsWith("%", StringComparison.OrdinalIgnoreCase))
            {
                mode = IRCUserMode.HalfOperator;
            }
            else if (input.StartsWith("@", StringComparison.OrdinalIgnoreCase))
            {
                mode = IRCUserMode.Operator;
            }
            else if (input.StartsWith("&", StringComparison.OrdinalIgnoreCase))
            {
                mode = IRCUserMode.Admin;
            }
            else if (input.StartsWith("~", StringComparison.OrdinalIgnoreCase))
            {
                mode = IRCUserMode.Founder;
            }

            if (mode != IRCUserMode.Normal)
            {
                nickname = input.Substring(1);
            }

            return(new IRCUser(nickname, mode));
        }
Exemple #2
0
        /// <summary>
        /// Creates an IRC user from a names command fragment.
        /// </summary>
        /// <param name="input">The names command fragment.</param>
        /// <returns>The parsed user.</returns>
        public static IRCUser Parse(string input)
        {
            IRCUserMode mode = IRCUserMode.Normal;
            string nickname = input;

            if (input.StartsWith("+", StringComparison.OrdinalIgnoreCase))
            {
                mode = IRCUserMode.Voice;
            }
            else if (input.StartsWith("%", StringComparison.OrdinalIgnoreCase))
            {
                mode = IRCUserMode.HalfOperator;
            }
            else if (input.StartsWith("@", StringComparison.OrdinalIgnoreCase))
            {
                mode = IRCUserMode.Operator;
            }
            else if (input.StartsWith("&", StringComparison.OrdinalIgnoreCase))
            {
                mode = IRCUserMode.Admin;
            }
            else if (input.StartsWith("~", StringComparison.OrdinalIgnoreCase))
            {
                mode = IRCUserMode.Founder;
            }

            if (mode != IRCUserMode.Normal)
            {
                nickname = input.Substring(1);
            }

            return new IRCUser(nickname, mode);
        }
Exemple #3
0
 /// <summary>
 /// Initialises a new instance of the <see cref="IRCUser"/> class.
 /// </summary>
 /// <param name="nickname">The user's nick name.</param>
 /// <param name="mode">The user's mode.</param>
 public IRCUser(string nickname, IRCUserMode mode)
 {
     this.nickName = nickname;
     this.mode = mode;
 }
Exemple #4
0
 /// <summary>
 /// Initialises a new instance of the <see cref="IRCUser"/> class.
 /// </summary>
 /// <param name="nickname">The user's nick name.</param>
 /// <param name="mode">The user's mode.</param>
 public IRCUser(string nickname, IRCUserMode mode)
 {
     this.nickName = nickname;
     this.mode     = mode;
 }