private async Task <TwitchChatter> GetTwitchSubscriberInfo(string chatter, string userTwitchId) { TwitchChatter subscriber = null; try { using (HttpResponseMessage message = await _twitchInfo.CheckSubscriberStatus(userTwitchId)) { // check if chatter is a subscriber if (!message.IsSuccessStatusCode) { // check if user was a subscriber but isn't anymore if (_twitchChatterListInstance.TwitchSubscribers.Any(c => c.Equals(chatter))) { _twitchChatterListInstance.TwitchSubscribers.RemoveAll(c => c.Username.Equals(chatter)); } return(null); } string body = await message.Content.ReadAsStringAsync(); SubscriptionJSON response = JsonConvert.DeserializeObject <SubscriptionJSON>(body); DateTime startedSubscribing = Convert.ToDateTime(response.CreatedAt); subscriber = new TwitchChatter { Username = chatter, CreatedAt = startedSubscribing, TwitchId = userTwitchId }; // add subscriber to global instance if (!_twitchChatterListInstance.TwitchSubscribers.Any(c => c.Equals(chatter))) { _twitchChatterListInstance.TwitchSubscribers.Add(subscriber); } } } catch (Exception ex) { Console.WriteLine($"Error inside FollowerSubscriberListener.GetTwitchSubscriberInfo(string, string): {ex.Message}"); if (ex.InnerException != null) { Console.WriteLine($"Inner Exception: {ex.InnerException.Message}"); } } return(subscriber); }