presence.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. const presence = new Presence({
  2. clientId: "643159616498171934",
  3. }),
  4. browsingTimestamp = Math.floor(Date.now() / 1000);
  5. let title: string;
  6. const actionURL = new URL(document.location.href),
  7. title2URL = new URL(document.location.href);
  8. presence.on("UpdateData", async () => {
  9. const presenceData: PresenceData = {
  10. largeImageKey:
  11. "https://cdn.rcd.gg/PreMiD/websites/U/Uncyclopedia/assets/logo.png",
  12. startTimestamp: browsingTimestamp,
  13. };
  14. title = (
  15. document.querySelector("h1#firstHeading.firstHeading") as HTMLElement
  16. ).textContent;
  17. const actionResult = actionURL.searchParams.get("action"),
  18. title2Result = title2URL.searchParams.get("title");
  19. if (document.location.pathname === "/wiki/Main_Page")
  20. presenceData.state = "Main Page | Home";
  21. else if (
  22. (title && document.location.pathname.includes("/wiki/")) ||
  23. (title && document.location.pathname.includes("/stupi/"))
  24. ) {
  25. presenceData.details = "Reading about:";
  26. presenceData.state = title;
  27. } else if (
  28. actionResult === "history" &&
  29. title2Result &&
  30. document.location.pathname.includes("/w/")
  31. ) {
  32. presenceData.details = "Viewing revision history of:";
  33. if (title2Result.includes("_"))
  34. presenceData.state = title2Result.replaceAll("_", " ");
  35. else presenceData.state = title2Result;
  36. } else if (
  37. actionResult === "edit" &&
  38. title2Result &&
  39. document.location.pathname.includes("/w/")
  40. ) {
  41. presenceData.details = "Editing a page:";
  42. if (title2Result.includes("_"))
  43. presenceData.state = title2Result.replaceAll("_", " ");
  44. else presenceData.state = title2Result;
  45. }
  46. if (presenceData.details) presence.setActivity(presenceData);
  47. else presence.setActivity();
  48. });