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