presence.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. const presence = new Presence({
  2. clientId: "652773935829614592",
  3. });
  4. presence.on("UpdateData", () => {
  5. const presenceData: PresenceData = {
  6. largeImageKey:
  7. "https://cdn.rcd.gg/PreMiD/websites/T/Tatsumaki/assets/logo.png",
  8. },
  9. page = window.location.pathname,
  10. browsingTimestamp = Math.floor(Date.now() / 1000);
  11. presenceData.startTimestamp = browsingTimestamp;
  12. if (page.endsWith("/editcard"))
  13. presenceData.details = "Editing their profile card";
  14. else if (page.endsWith("/inventory"))
  15. presenceData.details = "Viewing their inventory";
  16. else if (page.endsWith("/settings"))
  17. presenceData.details = "Editing their settings";
  18. else if (page.startsWith("/blog")) presenceData.details = "Viewing all blogs";
  19. else if (page.startsWith("/article")) {
  20. presenceData.details = "Reading an article:";
  21. presenceData.state = document.querySelector(
  22. "#__next > main > div.css-vxgrp0 > main > div > div.css-17cwizr > div > h1"
  23. ).textContent;
  24. } else if (page.endsWith("/servers")) presenceData.details = "On dashboard";
  25. else if (page.startsWith("/server"))
  26. presenceData.details = "Managing/Viewing a server";
  27. else if (page.startsWith("/shops")) presenceData.details = "On shop menu";
  28. else if (page.startsWith("/profile"))
  29. presenceData.details = "Viewing their profile";
  30. if (presenceData.details) presence.setActivity(presenceData);
  31. else presence.setActivity();
  32. });