You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 line
1.9 KiB

  1. using Newtonsoft.Json;
  2. using Example.Models;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Diagnostics;
  6. using System.Linq;
  7. using System.Net.Http;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace Example.Connectors
  11. {
  12. internal class GetSquadPlayerMember
  13. {
  14. public static async Task<PlayerInfoModule> LoadPlayerData(string player_id, string serverPort)
  15. {
  16. try
  17. {
  18. string apiurl = $"https://api.whalleybot.com/bot/{serverPort}/GetPlayer/{player_id}";
  19. var handler = new HttpClientHandler()
  20. {
  21. ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
  22. };
  23. using (var client = new HttpClient(handler))
  24. {
  25. client.DefaultRequestHeaders.Add("Authorization", "WhalleyBotOverlay_e-H1rr55f");
  26. client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
  27. var response = await client.GetAsync(apiurl)
  28. .ConfigureAwait(false);
  29. if (response.IsSuccessStatusCode)
  30. {
  31. var json = response.Content.ReadAsStringAsync().Result;
  32. //Console.WriteLine(json);
  33. PlayerInfoModule SquadMemberDetails = JsonConvert.DeserializeObject<PlayerInfoModule>(json);
  34. return SquadMemberDetails;
  35. }
  36. else
  37. {
  38. throw new Exception(response.ReasonPhrase);
  39. }
  40. }
  41. }
  42. catch (Exception ex)
  43. {
  44. Debug.WriteLine(ex.Source + ex.Message + ex.Data + ex.StackTrace);
  45. return null;
  46. }
  47. }
  48. }
  49. }