presence.ts 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. const presence = new Presence({
  2. clientId: "821810069733376022",
  3. });
  4. presence.on("UpdateData", async () => {
  5. const presenceData: PresenceData = {
  6. largeImageKey:
  7. "https://cdn.rcd.gg/PreMiD/websites/K/Kryptonia/assets/logo.png",
  8. startTimestamp: Math.floor(Date.now() / 1000),
  9. };
  10. // Landing Site - kryptonia.fr
  11. if (window.location.hostname === "kryptonia.fr") {
  12. presenceData.details = "Navigue sur le site";
  13. presenceData.state = document
  14. .querySelector("head > title")
  15. .textContent.replace("- Kryptonia", "");
  16. }
  17. // Forum - forum.kryptonia.fr
  18. if (window.location.hostname === "forum.kryptonia.fr") {
  19. presenceData.details = "Navigue sur le forum";
  20. if (window.location.pathname.startsWith("/threads/")) {
  21. presenceData.state = `📝${
  22. document.querySelector(
  23. "#top > div.p-body-header > div > div > div.p-title > h1 > span.label-append"
  24. )
  25. ? ""
  26. : " "
  27. }${document
  28. .querySelector(
  29. "#top > div.p-body-header > div > div > div.p-title > h1"
  30. )
  31. .textContent.replace("Accepté(e)", "")
  32. .replace("Refusé(e)", "")
  33. .replace("Résolu(e)", "")
  34. .replace("Important", "")}`;
  35. } else if (window.location.pathname.startsWith("/members/")) {
  36. if (
  37. document.querySelector(
  38. "#top > div.p-body > div > div > div > div > div > div > div > div > div > div.memberHeader-main > div > h1 > span > span"
  39. )
  40. ) {
  41. presenceData.state = `👤 ${
  42. document.querySelector(
  43. "#top > div.p-body > div > div > div > div > div > div > div > div > div > div.memberHeader-main > div > h1 > span > span"
  44. ).textContent
  45. }`;
  46. } else {
  47. presenceData.state = document
  48. .querySelector("head > title")
  49. .textContent.replace("| Kryptonia", "");
  50. }
  51. } else if (window.location.pathname.includes("/forums/")) {
  52. presenceData.state = `📌 ${document
  53. .querySelector("head > title")
  54. .textContent.replace("| Kryptonia", "")}`;
  55. } else {
  56. presenceData.state = document
  57. .querySelector("head > title")
  58. .textContent.replace("Kryptonia", "")
  59. .replace("| ", "");
  60. }
  61. }
  62. presence.setActivity(presenceData);
  63. });