presence.ts 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. const presence = new Presence({
  2. clientId: "967174885992456292",
  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/H/Hyakanime/assets/logo.png",
  9. startTimestamp: browsingTimestamp,
  10. details: "Sur la page d'accueil",
  11. },
  12. page = document.location.pathname;
  13. if (page.startsWith("/anime/")) {
  14. presenceData.details = "Regarde la fiche:";
  15. const anime = document.querySelector(
  16. "#root > div.anime-body > div.anime-white-informations > div.anime-white-infos > div:nth-child(2) > h1"
  17. ).textContent;
  18. presenceData.state = anime.split("Adulte")[0];
  19. presenceData.buttons = [
  20. {
  21. label: "Afficher la fiche",
  22. url: document.location.href,
  23. },
  24. ];
  25. } else if (page.startsWith("/profile/")) {
  26. presenceData.details = "Regarde le profil de:";
  27. presenceData.state = document.querySelector(
  28. "#root > div:nth-child(3) > div.profil-banner-top > div > div.bloc-name-banner > h1"
  29. ).textContent;
  30. presenceData.buttons = [
  31. {
  32. label: "Afficher le profil",
  33. url: document.location.href,
  34. },
  35. ];
  36. } else if (page.includes("/search/"))
  37. presenceData.details = "Cherche une fiche...";
  38. else if (page.startsWith("/new"))
  39. presenceData.details = "Soumets une nouvelle fiche";
  40. else if (page.startsWith("/edit/")) presenceData.details = "Édit une fiche";
  41. else if (page.startsWith("/bibliotheque"))
  42. presenceData.details = "Regarde sa bibliothèque";
  43. else if (page.startsWith("/settings"))
  44. presenceData.details = "Regarde ses paramètres";
  45. else if (page.startsWith("/team"))
  46. presenceData.details = "Regarde l'équipe de modération";
  47. else if (page.startsWith("/premium"))
  48. presenceData.details = "Considère l'achat du premium";
  49. else if (page.startsWith("/mentions-legales"))
  50. presenceData.details = "Regarde les mentions légales";
  51. else if (page.startsWith("/simulcast"))
  52. presenceData.details = "Regarde les fiches en simulcast";
  53. else if (page.startsWith("/soon"))
  54. presenceData.details = "Regarde les fiches sortant bientôt";
  55. else if (page.startsWith("/agenda")) {
  56. presenceData.details = "Regarde l'agenda";
  57. presenceData.buttons = [
  58. {
  59. label: "Afficher l'agenda",
  60. url: document.location.href,
  61. },
  62. ];
  63. }
  64. presence.setActivity(presenceData);
  65. });