using SharpChat.ClientCommands; using SharpChat.Users; namespace SharpChat; public static class UserExtensions { public static string GetLegacyName(this User user) { return string.IsNullOrWhiteSpace(user.NickName) ? user.UserName : '~' + user.NickName; } public static string GetLegacyNameWithStatus(this User user) { return user.Status == UserStatus.Away ? string.Format( "<{0}>_{1}", user.StatusText.TruncateIfTooLong(AFKClientCommand.MAX_GRAPHEMES, AFKClientCommand.MAX_BYTES).Trim().ToUpperInvariant(), user.GetLegacyName() ) : user.GetLegacyName(); } public static bool LegacyNameEquals(this User user, string name) { return user.NameEquals(name) || string.Equals(name, user.GetLegacyName(), StringComparison.OrdinalIgnoreCase) || string.Equals(name, user.GetLegacyNameWithStatus(), StringComparison.OrdinalIgnoreCase); } }