/// <summary>
 /// Send Request
 /// (If there is token.
 /// else sleep)
 /// </summary>
 /// <param name="method"> The url the get request is sent to </param>
 /// <returns> HttpResponseMessage </returns>
 public async Task <HttpResponseMessage> GetRequestAsync(string method)
 {
     Console.WriteLine(method);
     Console.WriteLine(_client);
     if (_tb.RequestIsAllowed(1))
     {
         return(await _client.GetAsync(method));
     }
     else
     {
         System.Threading.Thread.Sleep(60000);
         return(await GetRequestAsync(method));
     }
 }
        /// <summary>
        /// Use reddit username and password to login to reddit
        /// (Also check if there is token, else exit)
        /// </summary>
        /// <example>
        ///
        /// var redditBot = new RedditBot(clientId, clientSecret, redditUsername, redditPassword, clientVersion);
        /// redditBot.Authenticate
        ///
        /// </example>
        private void Authenticate()
        {
            var formData = new Dictionary <string, string>

            {
                { "grant_type", "password" },
                { "username", _redditusername },
                { "password", _redditpassword }
            };

            var encodedFormData = new FormUrlEncodedContent(formData);

            var authurl = "https://www.reddit.com/api/v1/access_token";

            if (_tb.RequestIsAllowed(1))
            {
                var response = _client.PostAsync(authurl, encodedFormData).GetAwaiter().GetResult();
                Console.WriteLine(response);
                var responseData = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();

                var accessToken = JObject.Parse(responseData).SelectToken("access_token").ToString();

                _client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", accessToken);
            }
            else
            {
                System.Environment.Exit(-1);
            }
        }