presence.ts 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. const presence = new Presence({
  2. clientId: "817063719288700939",
  3. });
  4. const enum Assets {
  5. Logo = "https://cdn.rcd.gg/PreMiD/websites/N/Nettruyen/assets/logo.png",
  6. }
  7. let lastPath: string,
  8. browsingTimestamp = Math.floor(Date.now() / 1000);
  9. presence.on("UpdateData", async () => {
  10. const curPath = document.location.pathname,
  11. presenceData: PresenceData = {
  12. largeImageKey: Assets.Logo,
  13. };
  14. if (lastPath !== curPath) {
  15. lastPath = curPath;
  16. browsingTimestamp = Math.floor(Date.now() / 1000);
  17. }
  18. if (curPath.startsWith("/hot"))
  19. presenceData.details = "Đang xem truyện hot nhất...";
  20. else if (
  21. curPath.startsWith("/theo-doi") ||
  22. curPath.startsWith("/Secure/ComicFollowed.aspx")
  23. )
  24. presenceData.details = "Đang xem truyện theo dõi...";
  25. else if (curPath.startsWith("/lich-su"))
  26. presenceData.details = "Đang xem lịch sử...";
  27. else if (curPath.startsWith("/tim-truyen-nang-cao"))
  28. presenceData.details = "Tìm truyện nâng cao...";
  29. else if (curPath.startsWith("/tim-truyen")) {
  30. presenceData.state = `Thể loại: ${
  31. document.querySelector(
  32. "#ctl00_divRight > div > .ModuleContent > .nav > .active > a"
  33. ).textContent
  34. }`;
  35. presenceData.details = "Đang tìm truyện...";
  36. } else if (curPath.startsWith("/truyen-con-gai"))
  37. presenceData.details = "Đang tìm truyện con gái...";
  38. else if (curPath.startsWith("/truyen-con-trai"))
  39. presenceData.details = "Đang tìm truyện con trai...";
  40. else if (curPath.startsWith("/Secure/Dashboard.aspx"))
  41. presenceData.details = "Đang xem thông tin chung...";
  42. else if (curPath.startsWith("/Secure/UserProfile.aspx"))
  43. presenceData.details = "Đang thông tin tài khoản...";
  44. else if (curPath.startsWith("/Secure/ComicList.aspx"))
  45. presenceData.details = "Đang xem truyện đã đăng...";
  46. else if (curPath.startsWith("/Secure/Comments.aspx"))
  47. presenceData.details = "Đang xem bình luận...";
  48. else if (curPath.startsWith("/Secure/Notifications.aspx"))
  49. presenceData.details = "Đang xem thông báo...";
  50. else if (curPath.startsWith("/Secure/ChangePassword.aspx"))
  51. presenceData.details = "Đang đổi mật khẩu...";
  52. else if (curPath.startsWith("/Secure/Register.aspx"))
  53. presenceData.details = "Đang đăng ký...";
  54. else if (curPath.startsWith("/Secure/Login.aspx"))
  55. presenceData.details = "Đang đăng nhập...";
  56. else if (curPath.startsWith("/Secure/RecoverPassword.aspx"))
  57. presenceData.details = "Quên mật khẩu :<";
  58. else if (curPath.startsWith("/truyen-tranh")) {
  59. const tmp = document.querySelector(".txt-primary");
  60. if (tmp === null) {
  61. presenceData.details = document.querySelector(
  62. ".detail-info > div > div:nth-child(2) > div > a > span"
  63. ).textContent;
  64. presenceData.state = "Đang chọn chap...";
  65. } else {
  66. presenceData.details = tmp.querySelector("a").textContent;
  67. presenceData.state = `Đang đọc: ${tmp
  68. .querySelector("span")
  69. .textContent.substr(2)}`;
  70. }
  71. } else presenceData.details = "Đang xem trang chủ...";
  72. presenceData.startTimestamp = browsingTimestamp;
  73. if (
  74. !curPath.startsWith("/truyen-tranh") &&
  75. !curPath.startsWith("/tim-truyen")
  76. )
  77. delete presenceData.state;
  78. delete presenceData.smallImageKey;
  79. presence.setActivity(presenceData, false);
  80. return;
  81. });