presence.ts 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. const presence = new Presence({
  2. clientId: "643758670131363840",
  3. }),
  4. pages: { [key: string]: string } = {
  5. "/butik/liste/erkek": "Erkek Giyim",
  6. "/butik/liste/kadin": "Kadın Giyim",
  7. "/butik/liste/cocuk": "Çocuk Giyim",
  8. "/butik/liste/ayakkabi--canta": "Ayakkabı & Çanta",
  9. "/butik/liste/saat--aksesuar": "Saat & Aksesuar",
  10. "/kozmetik": "Kozmetik",
  11. "/ev--yasam": "Ev & Yaşam",
  12. "/elektronik": "Elektronik",
  13. "/supermarket": "Süper Market",
  14. "/yardim/sorular": "Yardım & Destek",
  15. "/sepetim": "Sepet",
  16. "/bizeulasin": "Bize Ulaşın",
  17. "/saticibasvuru": "Satıcı Başvuru",
  18. "/s/kampanyalar": "Aktif Kampanyalar",
  19. "/s/elite": "En Trend Ürünler",
  20. "/login": "Giriş Yap",
  21. "/Hesabim": "Hesabım",
  22. "/Hesabim/Degerlendirmelerim": "Değerlendirmelerim",
  23. "/Hesabim/KullaniciBilgileri": "Kullanıcı Bilgileri",
  24. "/Hesabim/IndirimKuponlari": "İndirim Kuponları",
  25. "/Hesabim/AdresBilgileri": "Adres Bilgileri",
  26. "/Hesabim/KrediKartlarim": "Kredi Kartları",
  27. "/Hesabim/Elite": "Trendyol Elite",
  28. "/Hesabim/DuyuruTercihleri": "Duyuru Tercihleri",
  29. "/Hesabim/Favoriler": "Favoriler",
  30. };
  31. presence.on("UpdateData", async () => {
  32. const page = document.location.pathname,
  33. category =
  34. document.querySelector(
  35. "#root > div > div:nth-child(2) > div.filter-sticky-container > div.boutique-detail-component.v-2.timer-none > ul > li.boutique-title > h1"
  36. ) ||
  37. document.querySelector(
  38. "#root > div > div:nth-child(2) > div.filter-sticky-container > div.boutique-detail-component.v-2 > ul > li.boutique-title > h1"
  39. ),
  40. product = document.querySelector(
  41. "#product-detail-app > div > div.pr-cn > div.pr-cn-in > div.pr-in-w > div:nth-child(1) > div.pr-in-cn > h1 > a"
  42. ),
  43. product2 = document.querySelector(
  44. "#product-detail-app > div > div.pr-cn > div.pr-cn-in > div.pr-in-w > div:nth-child(1) > div.pr-in-cn > h1 > span"
  45. ),
  46. price =
  47. document.querySelector(
  48. "#product-detail-app > div > div.pr-cn > div.pr-cn-in > div.pr-in-w > div:nth-child(1) > div.pr-in-cn > div.pr-bx-w > div > span.prc-slg"
  49. ) ||
  50. document.querySelector(
  51. "#product-detail-app > div > div.pr-cn > div.pr-cn-in > div.pr-in-w > div:nth-child(1) > div.pr-in-cn > div.pr-bx-w > div > span"
  52. ) ||
  53. document.querySelector(
  54. "#product-detail-app > div > div.pr-cn > div.pr-cn-in > div.pr-in-w > div:nth-child(1) > div.pr-in-cn > div.pr-bx-w > div > div.pr-bx-pr-dsc > span"
  55. ),
  56. searchingFor = document.querySelector(
  57. "#search-app > div > div.srch-rslt-cntnt > div.srch-prdcts-cntnr > div.srch-rslt-title > div.srch-ttl-cntnr-wrppr > div > h1"
  58. );
  59. if (page.includes("/yardim/sorular/")) {
  60. presence.setActivity({
  61. largeImageKey:
  62. "https://cdn.rcd.gg/PreMiD/websites/T/Trendyol/assets/logo.png",
  63. details: "Bir sayfaya göz atıyor:",
  64. state: "Yardım & Sorular",
  65. startTimestamp: Math.floor(Date.now() / 1000),
  66. });
  67. } else if (
  68. (page === "/tum--urunler" && document.location.search.includes("?q=")) ||
  69. (searchingFor && searchingFor.textContent !== "")
  70. ) {
  71. presence.setActivity({
  72. largeImageKey:
  73. "https://cdn.rcd.gg/PreMiD/websites/T/Trendyol/assets/logo.png",
  74. details: "Bir şey arıyor:",
  75. state: searchingFor.textContent || "Belirsiz",
  76. smallImageKey: Assets.Search,
  77. startTimestamp: Math.floor(Date.now() / 1000),
  78. });
  79. } else if (category && category.textContent !== "") {
  80. presence.setActivity({
  81. largeImageKey:
  82. "https://cdn.rcd.gg/PreMiD/websites/T/Trendyol/assets/logo.png",
  83. details: "Bir kategoriye göz atıyor:",
  84. state: category.textContent || "Belirsiz",
  85. startTimestamp: Math.floor(Date.now() / 1000),
  86. });
  87. } else if (
  88. product &&
  89. product2 &&
  90. product.textContent !== "" &&
  91. product2.textContent !== ""
  92. ) {
  93. presence.setActivity({
  94. largeImageKey:
  95. "https://cdn.rcd.gg/PreMiD/websites/T/Trendyol/assets/logo.png",
  96. details: "Bir ürüne göz atıyor:",
  97. state: `${product.textContent} | ${product2.textContent} ${
  98. price && price.textContent !== "" ? `(${price.textContent})` : null
  99. }`,
  100. startTimestamp: Math.floor(Date.now() / 1000),
  101. });
  102. } else if (pages[page] || pages[page.slice(0, -1)]) {
  103. presence.setActivity({
  104. largeImageKey:
  105. "https://cdn.rcd.gg/PreMiD/websites/T/Trendyol/assets/logo.png",
  106. details: "Bir sayfaya göz atıyor:",
  107. state: pages[page] || pages[page.slice(0, -1)],
  108. startTimestamp: Math.floor(Date.now() / 1000),
  109. });
  110. } else {
  111. presence.setActivity({
  112. largeImageKey:
  113. "https://cdn.rcd.gg/PreMiD/websites/T/Trendyol/assets/logo.png",
  114. details: "Bir sayfaya göz atıyor:",
  115. state: "Ana Sayfa",
  116. startTimestamp: Math.floor(Date.now() / 1000),
  117. });
  118. }
  119. });