void HandleActivationError(string key, string errorMessage) { if (errorMessage.Contains("is not valid") || errorMessage.Contains("nu este valid")) { logger.Debug( MyOperation.KeyActivation, OperationStatus.Failure, "Invalid product key", new LogInfo(MyLogInfoKey.KeyCode, key)); keyHandler.MarkKeyAsInvalid(key); return; } if (errorMessage.Contains("activated by a different Steam account") || errorMessage.Contains("activat de un cont Steam diferit")) { logger.Debug( MyOperation.KeyActivation, OperationStatus.Failure, "Key already activated by a different account", new LogInfo(MyLogInfoKey.KeyCode, key)); keyHandler.MarkKeyAsUsedBySomeoneElse(key); return; } if (errorMessage.Contains("This Steam account already owns the product") || errorMessage.Contains("Contul acesta Steam deține deja produsul")) { logger.Debug( MyOperation.KeyActivation, OperationStatus.Failure, "Product already owned by this account", new LogInfo(MyLogInfoKey.KeyCode, key)); keyHandler.MarkKeyAsAlreadyOwned(key); return; } if (errorMessage.Contains("requires ownership of another product") || errorMessage.Contains("necesită deținerea unui alt produs")) { logger.Debug( MyOperation.KeyActivation, OperationStatus.Failure, "A base product is required in order to activate this key", new LogInfo(MyLogInfoKey.KeyCode, key)); keyHandler.MarkKeyAsRequiresBaseProduct(key); return; } if (errorMessage.Contains("this product is not available for purchase in this country") || errorMessage.Contains("acest produs nu este disponibil pentru achiziție în această țară")) { logger.Debug( MyOperation.KeyActivation, OperationStatus.Failure, "The key is locked to a specific region", new LogInfo(MyLogInfoKey.KeyCode, key)); keyHandler.MarkKeyAsRegionLocked(key); return; } if (errorMessage.Contains("too many recent activation attempts") || errorMessage.Contains("prea multe încercări de activare recente")) { logger.Debug( MyOperation.KeyActivation, OperationStatus.Failure, "Key activation limit reached", new LogInfo(MyLogInfoKey.KeyCode, key)); return; } if (errorMessage.Contains("An unexpected error has occurred") || errorMessage.Contains("A apărut o eroare neașteptată")) { logger.Debug( MyOperation.KeyActivation, OperationStatus.Failure, "An unexpected error has occurred", new LogInfo(MyLogInfoKey.KeyCode, key)); return; } throw new FormatException($"Unrecognised error message: \"{errorMessage}\""); }