presence.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. const presence = new Presence({
  2. clientId: "1212022540080382013",
  3. }),
  4. strings = presence.getStrings({
  5. play: "general.playing",
  6. pause: "general.paused",
  7. view: "general.watching",
  8. });
  9. const enum Assets {
  10. Logo = "https://cdn.rcd.gg/PreMiD/websites/T/Tabii/assets/logo.png",
  11. }
  12. presence.on("UpdateData", async () => {
  13. const presenceData: PresenceData = {
  14. largeImageKey: Assets.Logo,
  15. },
  16. { pathname, href } = document.location;
  17. if (pathname === "/" || pathname.includes("/browse/")) {
  18. const pageIds = [
  19. { id: "154830_134666", name: "Anasayfa" },
  20. { id: "149106_149112", name: "Dizi" },
  21. { id: "149265_149266", name: "Film" },
  22. { id: "149301_149418", name: "Belgesel" },
  23. { id: "149332_149333", name: "Çocuk" },
  24. { id: "233080_242470", name: "Tekrar İzle" },
  25. ];
  26. presenceData.details = `${
  27. pageIds.find(x => pathname.includes(x.id))?.name
  28. } Sayfasına Göz Atıyor`;
  29. } else if (pathname.includes("/settings/account"))
  30. presenceData.details = "Hesap Ayarlarına Göz Atıyor.";
  31. else if (pathname.includes("/settings/profile"))
  32. presenceData.details = "Profil Ayarlarına Göz Atıyor.";
  33. else if (pathname.includes("/search")) {
  34. if (document.querySelector("input").value)
  35. presenceData.details = "Arama Yapıyor.";
  36. else presenceData.details = "Arama Sayfasına Göz Atıyor.";
  37. } else if (pathname.includes("/watch")) {
  38. const video = document.querySelector("video");
  39. if (video) {
  40. presenceData.state = document.querySelector("h1")?.textContent;
  41. const stringsData = await strings;
  42. presenceData.buttons = [
  43. {
  44. label: `${stringsData.view} ${presenceData.state}`,
  45. url: href,
  46. },
  47. ];
  48. if (video.currentTime && video.duration) {
  49. [presenceData.startTimestamp, presenceData.endTimestamp] =
  50. presence.getTimestampsfromMedia(video);
  51. presenceData.smallImageKey = video.paused ? Assets.Pause : Assets.Play;
  52. presenceData.smallImageText = video.paused
  53. ? stringsData.pause
  54. : stringsData.play;
  55. }
  56. }
  57. } else if (pathname.includes("/genre")) {
  58. const catName = document.querySelector<HTMLElement>(
  59. "#Main > div > div:nth-child(1) > main > div > div.flex.pt-8 > div > div > span:nth-child(2)"
  60. ).textContent;
  61. if (catName) presenceData.details = `${catName} Kategorisine Göz Atıyor.`;
  62. else presenceData.details = "Kategori Sayfasına Göz Atıyor.";
  63. } else if (pathname.includes("/my-stuff"))
  64. presenceData.details = "Kütüphanesine Göz Atıyor.";
  65. else if (pathname.includes("/faq"))
  66. presenceData.details = "SSS'ye Göz Atıyor.";
  67. else presenceData.details = "Bilinmeyen Sayfada.";
  68. presence.setActivity(presenceData);
  69. });