presence.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. const presence = new Presence({
  2. clientId: "776113876605337660",
  3. }),
  4. presenceData: PresenceData = {
  5. largeImageKey:
  6. "https://cdn.rcd.gg/PreMiD/websites/M/MojeVideo/assets/logo.png",
  7. };
  8. presence.on("UpdateData", async () => {
  9. if (!presenceData.details) presence.setActivity();
  10. else presence.setActivity(presenceData);
  11. });
  12. function RefreshData() {
  13. if (document.querySelector("#video-comment")) {
  14. const mvTime = document.querySelector("#mv-tm"),
  15. [mvCaptionH1] = document
  16. .querySelector("#video-comment")
  17. .querySelectorAll("h1"),
  18. videoName = mvCaptionH1 ? mvCaptionH1.textContent : "Unknown video";
  19. if (mvTime) {
  20. presenceData.details = videoName;
  21. presenceData.state = mvTime.textContent;
  22. } else {
  23. presenceData.details = "Sleduje video";
  24. presenceData.state = videoName;
  25. }
  26. presenceData.smallImageKey =
  27. document.querySelector<HTMLElement>("#mv-pl").style.visibility !==
  28. "visible"
  29. ? Assets.Play
  30. : Assets.Pause;
  31. } else {
  32. let actualUrl = window.location.toString();
  33. const actualTitle = document.title;
  34. actualUrl = actualUrl.replace("https://www.mojevideo.sk/", "");
  35. actualUrl = actualUrl.replace("https://mojevideo.sk/", "");
  36. actualUrl = actualUrl.replace("mesiac/", "");
  37. actualUrl = actualUrl.replace("celkovo/", "");
  38. if (actualUrl === "") presenceData.details = "Hlavná stránka";
  39. else if (!actualTitle.startsWith("Videá - mojeVideo.sk")) {
  40. if (actualTitle.includes(".strana"))
  41. [presenceData.details, presenceData.state] = actualTitle.split(" - ");
  42. else presenceData.details = actualTitle;
  43. } else {
  44. let extraPage = "Hlavná stránka",
  45. extraPageNumber = 0;
  46. const urlPieces = actualUrl.split("/");
  47. for (const urlPiece of urlPieces) {
  48. if (urlPiece.includes("strana_")) {
  49. extraPageNumber = parseInt(urlPiece.replace("strana_", "")) || 0;
  50. extraPageNumber++;
  51. }
  52. }
  53. if (actualUrl.includes("prihlasenie")) extraPage = "Prihlásenie";
  54. else if (actualUrl.includes("registracia")) extraPage = "Registrácia";
  55. presenceData.details = extraPage;
  56. if (extraPageNumber !== 0)
  57. presenceData.state = `${extraPageNumber}.strana`;
  58. }
  59. }
  60. presenceData.largeImageKey =
  61. "https://cdn.rcd.gg/PreMiD/websites/M/MojeVideo/assets/logo.png";
  62. }
  63. setInterval(RefreshData, 1000);