presence.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334
  1. const presence = new Presence({
  2. clientId: "796810487177674822",
  3. }),
  4. browsingTimestamp = Math.floor(Date.now() / 1000);
  5. presence.on("UpdateData", async () => {
  6. const presenceData: PresenceData = {
  7. largeImageKey:
  8. "https://cdn.rcd.gg/PreMiD/websites/C/Coinbase/assets/logo.png",
  9. startTimestamp: browsingTimestamp,
  10. },
  11. path = document.location.pathname;
  12. if (path === "/") presenceData.details = "Browsing...";
  13. else if (path.includes("/dashboard"))
  14. presenceData.details = "Looking at Dashboard";
  15. else if (path.includes("/accounts"))
  16. presenceData.details = "Looking at Portfolio";
  17. else if (path.includes("/price/")) {
  18. presenceData.details = "Looking at prices for:";
  19. presenceData.state = document.querySelector(
  20. "#root > div > div > div > div.Flex-l69ttv-0.Layout__Container-sc-140tb7h-0.iOtOlJ > div > div > div.Flex-l69ttv-0.LayoutDesktop__MainContentFlex-bh368c-1.kKKtdZ > div.Flex-l69ttv-0.LayoutDesktop__Wrapper-bh368c-3.gMrngj > div > div > div > div.styles__Outer-vb6gfj-0.HeaderBar__StyledOuter-tvqwd7-0.jjhDbN > div > div > div > div.styles__TopRow-vb6gfj-1.pbrsa > div.styles__TextRow-vb6gfj-2.ftNBen > div > h1.TextElement__Spacer-hxkcw5-0.cicsNy.Header__StyledHeader-sc-1xiyexz-0.JJViP.styles__Name-vb6gfj-5.bHSVaQ"
  21. ).textContent;
  22. } else if (path.includes("/notifications"))
  23. presenceData.details = "Checking notifications";
  24. else if (path.includes("/settings")) {
  25. presenceData.details = "Changing settings for:";
  26. presenceData.state = document.querySelector(".active > a").textContent;
  27. } else if (path.includes("/invite"))
  28. presenceData.details = "Inviting someone new";
  29. if (presenceData.details) presence.setActivity(presenceData);
  30. else presence.setActivity();
  31. });