Example #1
0
        public async Task AddToBanListTest()
        {
            var Agent = new RedditWebAgent();

            RedditWebAgent.EnableRateLimit = true;
            RedditWebAgent.RateLimit       = RedditWebAgent.RateLimitMode.Burst;
            RedditWebAgent.RootDomain      = "oauth.reddit.com";
            RedditWebAgent.UserAgent       = "DirtBagUnitTests (By meepster23)";
            RedditWebAgent.Protocol        = "https";
            var Auth = new RedditAuth(Agent);

            Auth.Login();
            Agent.AccessToken = Auth.AccessToken;

            AutoModWrangler w = new AutoModWrangler(new RedditSharp.Reddit(Agent, true).GetSubreddit("GooAway"));
            await w.AddToBanList(new List <Models.BannedEntity>() { new Models.BannedEntity()
                                                                    {
                                                                        BanDate = DateTime.UtcNow, BannedBy = "DirtBagTests", BanReason = "DirtBagTests", EntityString = "DirtBagTests", Type = Models.BannedEntity.EntityType.User, SubName = "GooAway", ThingID = "66666"
                                                                    } });

            var list = await w.GetBannedList();

            int id = list.Where(l => l.ThingID == "66666" && l.BannedBy == "DirtBagTests").Select(l => l.ID).First();
            await w.RemoveFromBanList(id, "DirtBagTests");
        }
        public async Task AddToBanListTest() {

            var Agent = new RedditWebAgent();
            RedditWebAgent.EnableRateLimit = true;
            RedditWebAgent.RateLimit = RedditWebAgent.RateLimitMode.Burst;
            RedditWebAgent.RootDomain = "oauth.reddit.com";
            RedditWebAgent.UserAgent = "DirtBagUnitTests (By meepster23)";
            RedditWebAgent.Protocol = "https";
            var Auth = new RedditAuth( Agent );

            Auth.Login();
            Agent.AccessToken = Auth.AccessToken;

            AutoModWrangler w = new AutoModWrangler( new RedditSharp.Reddit( Agent, true ).GetSubreddit( "GooAway" ) );
            await w.AddToBanList( new List<Models.BannedEntity>() { new Models.BannedEntity() { BanDate = DateTime.UtcNow, BannedBy = "DirtBagTests", BanReason = "DirtBagTests", EntityString = "DirtBagTests", Type= Models.BannedEntity.EntityType.User, SubName = "GooAway", ThingID = "66666" } } );

            var list = await w.GetBannedList();
            int id = list.Where( l => l.ThingID == "66666" && l.BannedBy == "DirtBagTests" ).Select(l=>l.ID).First();
            await w.RemoveFromBanList( id, "DirtBagTests" );
        }
Example #3
0
        static string AuthToken(string _RedditLogin, string _RedditPWD, string _RedditAppID, string _RedditAppSecret)
        {
            // This call is good for 120 minutes
            string credentials = $"{_RedditAppID}:{_RedditAppSecret}";

            byte[] bytes   = Encoding.ASCII.GetBytes(credentials);
            string base64  = Convert.ToBase64String(bytes);
            var    client  = new RestClient($"https://www.reddit.com/api/v1/access_token?grant_type=password&username={_RedditLogin}&password={_RedditPWD}");
            var    request = new RestRequest(Method.POST);

            request.AddHeader("cache-control", "no-cache");
            request.AddHeader("Connection", "keep-alive");
            request.AddHeader("content-length", "");
            request.AddHeader("accept-encoding", "gzip, deflate");
            request.AddHeader("Host", "www.reddit.com");
            request.AddHeader("Cache-Control", "no-cache");
            request.AddHeader("Accept", "*/*");
            request.AddHeader("User-Agent", "PostmanRuntime/7.15.0");
            request.AddHeader($"Authorization", "Basic {base64}");
            IRestResponse response = client.Execute(request);
            RedditAuth    myReddit = RedditAuth.FromJson(response.Content);

            return(myReddit.AccessToken);
        }
Example #4
0
 public RedditApi(RedditAuth auth) : this(UrlConstants.RedditBaseOAuthApiUrl, new RedditHttpClientHandler(auth))
 {
 }
Example #5
0
 public RedditHttpClientHandler(RedditAuth auth)
 {
     Auth = auth;
 }