presence.ts 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. const presence = new Presence({
  2. clientId: "753818401541193859",
  3. }),
  4. browsingTimestamp = Math.floor(Date.now() / 1000);
  5. presence.on("UpdateData", async () => {
  6. const presenceData: PresenceData = {
  7. largeImageKey:
  8. "https://cdn.rcd.gg/PreMiD/websites/M/MangaHost/assets/logo.png",
  9. startTimestamp: browsingTimestamp,
  10. },
  11. { pathname } = document.location,
  12. { hostname } = document.location;
  13. if (hostname === "mangahosted.com" || hostname === "www.mangahosted.com") {
  14. if (pathname.startsWith("/")) {
  15. presenceData.details = "Vendo:";
  16. presenceData.state = "Website MangaHost";
  17. }
  18. if (pathname.startsWith("/lancamentos")) {
  19. presenceData.details = "Vendo:";
  20. presenceData.state = "Lançamentos";
  21. }
  22. if (pathname.startsWith("/scans")) {
  23. if (!pathname.split("/").slice(-1)[0].includes("scans")) {
  24. presenceData.details = "Vendo Scan:";
  25. presenceData.state = document.querySelector("h1").textContent;
  26. } else {
  27. presenceData.details = "Vendo:";
  28. presenceData.state = "Lista de Scanlators";
  29. }
  30. }
  31. if (pathname.startsWith("/leituras")) {
  32. presenceData.details = "Vendo:";
  33. presenceData.state = "Leituras Pessoais";
  34. }
  35. if (pathname.startsWith("/profile")) {
  36. presenceData.details = "Vendo Perfil:";
  37. presenceData.state = document.querySelector("h1").textContent;
  38. }
  39. if (pathname.startsWith("/find")) {
  40. presenceData.details = "Pesquisando por:";
  41. presenceData.state = pathname.split("/").slice(-1)[0];
  42. }
  43. if (pathname.startsWith("/wp-admin/profile")) {
  44. presenceData.details = "Editando:";
  45. presenceData.state = "Perfil";
  46. }
  47. if (pathname.startsWith("/mangas")) {
  48. const [pathsplitted] = pathname.split("/").slice(-1);
  49. if (!pathsplitted.startsWith("mangas")) {
  50. presenceData.details = "Vendo Mangás:";
  51. presenceData.state = pathsplitted
  52. .replace("-", " ")
  53. .replace(/(\w)(\w*)/g, function (_, g1, g2) {
  54. return g1.toUpperCase() + g2.toLowerCase();
  55. });
  56. } else {
  57. presenceData.details = "Vendo:";
  58. presenceData.state = "Lista de Mangás";
  59. }
  60. }
  61. if (pathname.startsWith("/mangas/novel")) {
  62. presenceData.details = "Vendo:";
  63. presenceData.state = "Lista de Novels";
  64. }
  65. if (pathname.startsWith("/manga/") && pathname.includes("-mh")) {
  66. const [pathsplitted] = pathname.split("/").slice(-1);
  67. if (!pathsplitted.includes("-mh")) {
  68. const e = document.querySelector("#capitulos-3") as HTMLSelectElement;
  69. presenceData.details = document.querySelector("h1 a").textContent;
  70. presenceData.state = `Capítulo ${pathsplitted.split("#")[0]} - Pg ${
  71. (<HTMLOptionElement>e.options[e.selectedIndex]).text
  72. }`;
  73. } else {
  74. presenceData.details = "Vendo Informações:";
  75. presenceData.state = document.querySelector("h1.title").textContent;
  76. }
  77. }
  78. }
  79. if (presenceData.details) presence.setActivity(presenceData);
  80. else presence.setActivity();
  81. });