Exemplo n.º 1
0
        public async Task <List <Role> > GetGroupRanks(int GroupID)
        {
            var    Request = APIRequestBuilder.CreateWebRequest(false, $"https://groups.roblox.com/v1/groups/{GroupID}/roles");
            string JSON    = "";

            try
            {
                WebResponse Response = await Request.GetResponseAsync();

                using (var Reader = new StreamReader(Response.GetResponseStream()))
                {
                    JSON = Reader.ReadToEnd();
                }
            }
            catch (WebException e)
            {
                Console.WriteLine(e.Message);
                throw new Exception(e.Message);
            }
            var    Data       = JsonConvert.DeserializeObject <Dictionary <string, dynamic> >(JSON);
            JArray Roles      = Data["roles"];
            var    JTokenList = Roles.Value <JArray>().OrderBy(x => x.SelectToken("rank")).ToList();

            List <Role> RolesList = new List <Role>();

            foreach (var item in JTokenList)
            {
                RolesList.Add(
                    new Role
                {
                    Id          = (int)item.SelectToken("id"),
                    Name        = (string)item.SelectToken("name"),
                    Rank        = (int)item.SelectToken("rank"),
                    MemberCount = (int)item.SelectToken("memberCount")
                }
                    );
            }

            return(RolesList);
        }
Exemplo n.º 2
0
        public async Task <bool> SetRankTest(int GroupID, int UserID, int RankID)
        {
            string PostData = $"{{\"roleId\": \"{RankID}\"}}";
            var    Request  = APIRequestBuilder.CreateWebRequest(true, $"https://groups.roblox.com/v1/groups/{GroupID}/users/{UserID}", CookieJar, "PATCH", PostData);

            try
            {
                WebResponse Response = await Request.GetResponseAsync();
            } catch (WebException e)
            {
                string token = e.Response.Headers["x-csrf-token"];
                Request = APIRequestBuilder.CreateWebRequest(true, $"https://groups.roblox.com/v1/groups/{GroupID}/users/{UserID}", CookieJar, "PATCH", PostData, token);
                WebResponse Response = await Request.GetResponseAsync();

                using (var reader = new StreamReader(Response.GetResponseStream()))
                {
                    string result = reader.ReadToEnd();
                    Console.WriteLine(result);
                }
            }
            return(true);
        }