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;
            }
        }
Beispiel #2
0
        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);
        }