Example #1
0
 public PresenceBatchRequest(ulong[] xuids, PresenceLevel level, bool onlineOnly = false)
 {
     if (xuids.Length > 1100)
     {
         throw new ArgumentOutOfRangeException("Xuid list > 1100");
     }
     Users      = Array.ConvertAll(xuids, x => x.ToString());
     OnlineOnly = onlineOnly;
     Level      = level;
 }
Example #2
0
        public PresenceResponse GetPresence(ulong xuid, PresenceLevel level = PresenceLevel.All)
        {
            PresenceRequestQuery query   = new PresenceRequestQuery(level);
            RestRequestEx        request = new RestRequestEx($"users/xuid({xuid})", Method.GET);

            request.AddHeaders(Headers);
            request.AddQueryParameters(query.GetQuery());

            IRestResponse <PresenceResponse> response = HttpClient.Execute <PresenceResponse>(request);

            return(response.Data);
        }
Example #3
0
        public async Task <PresenceResponse> GetPresenceAsync(ulong xuid, PresenceLevel level = PresenceLevel.All)
        {
            PresenceRequestQuery query = new PresenceRequestQuery(level);
            var request = new HttpRequestMessage(HttpMethod.Get, $"users/xuid({xuid})");

            request.Headers.Add(Headers);
            request.AddQueryParameter(query.GetQuery());

            var response = await HttpClient.SendAsync(request);

            return(await response.Content.ReadAsJsonAsync <PresenceResponse>());
        }
Example #4
0
        public PresenceBatchResponse GetPresenceBatch(ulong[] xuids,
                                                      PresenceLevel level = PresenceLevel.All,
                                                      bool onlineOnly     = false)
        {
            PresenceBatchRequest body    = new PresenceBatchRequest(xuids, level, onlineOnly);
            RestRequestEx        request = new RestRequestEx("users/batch", Method.POST);

            request.AddHeaders(Headers);
            request.AddJsonBody(body, JsonNamingStrategy.CamelCase);

            IRestResponse <PresenceBatchResponse> response = HttpClient.Execute <PresenceBatchResponse>(request);

            return(response.Data);
        }
Example #5
0
        public async Task <PresenceBatchResponse> GetPresenceBatchAsync(ulong[] xuids,
                                                                        PresenceLevel level = PresenceLevel.All,
                                                                        bool onlineOnly     = false)
        {
            PresenceBatchRequest body = new PresenceBatchRequest(xuids, level, onlineOnly);
            var request = new HttpRequestMessage(HttpMethod.Post, "users/batch");

            request.Headers.Add(Headers);
            request.Content = new JsonContent(body, JsonNamingStrategy.CamelCase);

            var response = await HttpClient.SendAsync(request);

            return(await response.Content.ReadAsJsonAsync <PresenceBatchResponse>());
        }
Example #6
0
 public PresenceRequestQuery(PresenceLevel level)
 {
     Level = level;
 }