/// <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)); }
/// <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); }
/// <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; }