public ResultInfo(ResponseType responseType, InstaBadStatusResponse status) { Message = status?.Message; Challenge = status?.Challenge; ResponseType = responseType; HandleMessages(Message); switch (ResponseType) { case ResponseType.ActionBlocked: case ResponseType.Spam: if (status != null && !string.IsNullOrEmpty(status.FeedbackMessage) && status.FeedbackMessage.ToLower().Contains("this block will expire on")) { var dateRegex = new Regex(@"(\d+)[-.\/](\d+)[-.\/](\d+)"); var dateMatch = dateRegex.Match(status.FeedbackMessage); if (DateTime.TryParse(dateMatch.ToString(), out var parsedDate)) { ActionBlockEnd = parsedDate; } } else { ActionBlockEnd = null; } break; default: ActionBlockEnd = null; break; } }
internal static InstaBadStatusResponse GetBadStatusFromJsonString(string json) { var badStatus = new InstaBadStatusResponse(); try { if (json == "Oops, an error occurred\n") { badStatus.Message = json; } else { badStatus = JsonConvert.DeserializeObject <InstaBadStatusResponse>(json); } } catch (Exception ex) { badStatus.Message = ex.Message; } return(badStatus); }