From abe3beaee7fe614f72b9598a2dc43678eb72a769 Mon Sep 17 00:00:00 2001 From: JustArchi Date: Thu, 29 Oct 2015 17:06:02 +0100 Subject: [PATCH] Volvo and it's 7-days locks --- ArchiSteamFarm/ArchiWebHandler.cs | 16 +++++++++++++++- ArchiSteamFarm/Trading.cs | 4 ---- ArchiSteamFarm/Utilities.cs | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ArchiSteamFarm/ArchiWebHandler.cs b/ArchiSteamFarm/ArchiWebHandler.cs index 7a43a6949..1879bdaae 100644 --- a/ArchiSteamFarm/ArchiWebHandler.cs +++ b/ArchiSteamFarm/ArchiWebHandler.cs @@ -281,7 +281,21 @@ namespace ArchiSteamFarm { {"tradeofferid", tradeID.ToString()} }; - return await Utilities.UrlPostRequest(request, postData, SteamCookieDictionary, referer).ConfigureAwait(false); + HttpResponseMessage result = await Utilities.UrlPostRequestWithResponse(request, postData, SteamCookieDictionary, referer).ConfigureAwait(false); + bool success = result.IsSuccessStatusCode; + + if (!success) { + Logging.LogGenericWarning(Bot.BotName, "Request failed, reason: " + result.ReasonPhrase); + switch (result.StatusCode) { + case HttpStatusCode.InternalServerError: + Logging.LogGenericWarning(Bot.BotName, "That might be caused by 7-days trade lock from new device"); + Logging.LogGenericWarning(Bot.BotName, "Try again in 7 days, declining that offer for now"); + DeclineTradeOffer(tradeID); + break; + } + } + + return success; } internal bool DeclineTradeOffer(ulong tradeID) { diff --git a/ArchiSteamFarm/Trading.cs b/ArchiSteamFarm/Trading.cs index 404f19a72..7c18440cb 100644 --- a/ArchiSteamFarm/Trading.cs +++ b/ArchiSteamFarm/Trading.cs @@ -86,10 +86,6 @@ namespace ArchiSteamFarm { success = Bot.ArchiWebHandler.DeclineTradeOffer(tradeID); } - if (!success) { - Logging.LogGenericWarning(Bot.BotName, "Response to trade " + tradeID + " failed!"); - } - if (tradeAccepted && success) { // Do whatever we want with success } diff --git a/ArchiSteamFarm/Utilities.cs b/ArchiSteamFarm/Utilities.cs index b226bb20f..7d875e7dc 100644 --- a/ArchiSteamFarm/Utilities.cs +++ b/ArchiSteamFarm/Utilities.cs @@ -172,7 +172,7 @@ namespace ArchiSteamFarm { requestMessage.Headers.Referrer = new Uri(referer); } HttpResponseMessage responseMessage = await client.SendAsync(requestMessage).ConfigureAwait(false); - if (responseMessage != null && responseMessage.IsSuccessStatusCode) { + if (responseMessage != null) { result = responseMessage; } }