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