presence.ts 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. const presence = new Presence({
  2. clientId: "783702757021581352",
  3. }),
  4. browsingTimestamp = Math.floor(Date.now() / 1000);
  5. let currencyTitle, currencyEffort, effortType, wallet24Revenue: string;
  6. const assets = {
  7. etc: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/0.png",
  8. aion: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/1.png",
  9. mwc: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/2.png",
  10. ae: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/3.png",
  11. cfx: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/4.png",
  12. ctxc: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/5.png",
  13. rvn: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/6.png",
  14. eth: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/7.png",
  15. veil: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/8.png",
  16. grin: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/9.png",
  17. sero: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/10.png",
  18. btg: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/11.png",
  19. zel: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/12.png",
  20. ergo: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/13.png",
  21. xzc: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/14.png",
  22. erg: "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/15.png",
  23. };
  24. presence.on("UpdateData", async () => {
  25. const presenceData: PresenceData = {
  26. largeImageKey:
  27. "https://cdn.rcd.gg/PreMiD/websites/W/WoolyPooly/assets/logo.png",
  28. };
  29. switch (window.location.pathname) {
  30. case "/":
  31. presenceData.state = `${
  32. document.querySelector("div.contentContainer > span").childElementCount
  33. } Coins`;
  34. presenceData.details = "Charts Overview";
  35. break;
  36. case "/faq":
  37. presenceData.startTimestamp = browsingTimestamp;
  38. presenceData.details = "FAQ";
  39. break;
  40. case "/privacy":
  41. presenceData.startTimestamp = browsingTimestamp;
  42. presenceData.details = "Privacy Policy";
  43. break;
  44. case "/tos":
  45. presenceData.startTimestamp = browsingTimestamp;
  46. presenceData.details = "Terms of Service";
  47. break;
  48. case "/raveos":
  49. presenceData.startTimestamp = browsingTimestamp;
  50. presenceData.details = "Rave OS Redirect";
  51. break;
  52. default:
  53. if (window.location.pathname.includes("coin")) {
  54. currencyTitle = document.querySelector(
  55. "div.mainContent > div.typeSelection > div.coinTitle.flexEqual > div:nth-child(2)"
  56. ).textContent;
  57. if (window.location.pathname.includes("wallet")) {
  58. wallet24Revenue = document.querySelector(
  59. "div.mainContent > div.mainContainer.flex.flex-wrap > div.card.cardSpec > div > div:nth-child(4) > div.miningBShortCell.ctr.cbold.tooltip.tooltipx > span:nth-child(1)"
  60. ).textContent;
  61. presenceData.state = `24h Revenue: ${wallet24Revenue} ${currencyTitle}`;
  62. currencyTitle += " Wallet";
  63. } else {
  64. currencyEffort = document.querySelector(
  65. "div.mainContainer.flex.flex-wrap > div:nth-child(2) > div:nth-child(3) > div.cardValue > span:nth-child(1) > span:nth-child(1)"
  66. ).textContent;
  67. effortType = document.querySelector(
  68. "body > div.layout > div.contentWrapper > div.mainContent > div.typeSelection > div.typeSelectionRight.flexEqual > div > div.baseTab.activeTab"
  69. ).textContent;
  70. presenceData.state = `Effort (${effortType}): ${currencyEffort}%`;
  71. }
  72. presenceData.details = currencyTitle;
  73. presenceData.smallImageKey =
  74. assets[window.location.pathname.split("/")[2] as keyof typeof assets];
  75. presenceData.smallImageText = currencyTitle;
  76. } else {
  77. presenceData.startTimestamp = browsingTimestamp;
  78. presenceData.details = "Charts Overview";
  79. }
  80. }
  81. if (!presenceData.details) {
  82. presenceData.startTimestamp = browsingTimestamp;
  83. presenceData.details = "Charts Overview";
  84. } else presence.setActivity(presenceData);
  85. });