presence.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. const presence: Presence = new Presence({
  2. clientId: "612415911877672971",
  3. }),
  4. browsingTimestamp = Math.floor(Date.now() / 1000),
  5. presenceData: PresenceData = {
  6. largeImageKey:
  7. "https://cdn.rcd.gg/PreMiD/websites/W/Webtoon/assets/logo.jpg",
  8. startTimestamp: browsingTimestamp,
  9. },
  10. strings = presence.getStrings({
  11. browsing: "general.browsing",
  12. }),
  13. path: string = window.location.pathname;
  14. let webtoon: string, chapter: string, seriesPage: string;
  15. presence.on("UpdateData", async () => {
  16. if (path.includes("list")) {
  17. webtoon = document.querySelector(".subj").textContent;
  18. presenceData.details = "Looking at a webtoon";
  19. presenceData.state = webtoon;
  20. delete presenceData.smallImageKey;
  21. } else if (path.includes("viewer")) {
  22. webtoon = document.querySelector("div.subj_info > a.subj").textContent;
  23. chapter = `${
  24. document.querySelector("div.subj_info > .subj_episode").textContent
  25. } - ${document.querySelector(".tx").textContent}`;
  26. presenceData.details = `Reading ${webtoon}`;
  27. presenceData.state = chapter;
  28. delete presenceData.smallImageKey;
  29. } else if (path.includes("dailySchedule")) {
  30. seriesPage = document
  31. .querySelector("ul > li.completed")
  32. .getAttribute("class")
  33. .includes("on")
  34. ? "completed"
  35. : "ongoing";
  36. presenceData.details = `Looking through the ${seriesPage} series`;
  37. delete presenceData.smallImageKey;
  38. } else if (path.includes("top"))
  39. presenceData.details = "Looking through popular series";
  40. else if (path.includes("genre")) {
  41. presenceData.details = "Looking through genres";
  42. delete presenceData.smallImageKey;
  43. } else if (path.includes("search")) {
  44. presenceData.details = "Searching...";
  45. presenceData.smallImageKey = Assets.Search;
  46. } else if (path.includes("about")) {
  47. presenceData.details = "Reading the about page";
  48. delete presenceData.smallImageKey;
  49. } else {
  50. presenceData.details = (await strings).browsing;
  51. delete presenceData.smallImageKey;
  52. }
  53. presence.setActivity(presenceData, true);
  54. });