presence.ts 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. const presence = new Presence({
  2. clientId: "1010270368814092400",
  3. });
  4. presence.on("UpdateData", async () => {
  5. const presenceData: PresenceData = {
  6. largeImageKey:
  7. "https://cdn.rcd.gg/PreMiD/websites/H/HEO%20Systems/assets/logo.png",
  8. },
  9. { pathname, hostname } = document.location;
  10. let serverName = null;
  11. if (hostname.includes("ptero") && pathname.includes("server")) {
  12. const serverNameElement = document.querySelector(
  13. "h1.font-header.text-2xl.line-clamp-1"
  14. );
  15. if (serverNameElement) serverName = serverNameElement.textContent.trim();
  16. }
  17. switch (true) {
  18. // Game panel
  19. case hostname.includes("ptero") && pathname.includes("activity"): {
  20. presenceData.details = "Looking at the activity of a server.";
  21. break;
  22. }
  23. case hostname.includes("ptero") && pathname.includes("settings"): {
  24. presenceData.details = "Changing the settings of a server.";
  25. break;
  26. }
  27. case hostname.includes("ptero") && pathname.includes("network"): {
  28. presenceData.details = "Looking into network configurations of a server.";
  29. break;
  30. }
  31. case hostname.includes("ptero") && pathname.includes("backups"): {
  32. presenceData.details = "Reviewing backup configurations of a server.";
  33. break;
  34. }
  35. case hostname.includes("ptero") && pathname.includes("users"): {
  36. presenceData.details = "Configuring user access of a server.";
  37. break;
  38. }
  39. case hostname.includes("ptero") && pathname.includes("schedules"): {
  40. presenceData.details = "Setting up task schedules of a server.";
  41. break;
  42. }
  43. case hostname.includes("ptero") && pathname.includes("databases"): {
  44. presenceData.details = "Managing the databases of a server.";
  45. break;
  46. }
  47. case hostname.includes("ptero") && pathname.includes("files"): {
  48. presenceData.details = "Managing the files of a server.";
  49. break;
  50. }
  51. case hostname.includes("ptero") && pathname.includes("server"): {
  52. presenceData.details = serverName
  53. ? `Managing '${serverName}'.`
  54. : "Managing a server.";
  55. break;
  56. }
  57. case hostname.includes("ptero") && pathname.includes("account"): {
  58. presenceData.details = "Changing account settings.";
  59. break;
  60. }
  61. case hostname.includes("ptero"): {
  62. presenceData.details = "Managing servers in the Game Panel.";
  63. break;
  64. }
  65. // Client Area
  66. case hostname.includes("clients") &&
  67. pathname.includes("clientarea.php?action=invoices"): {
  68. presenceData.details = "Reviewing all the invoices.";
  69. break;
  70. }
  71. case hostname.includes("clients") && pathname.includes("viewinvoice"): {
  72. presenceData.details = "Managing an invoice.";
  73. break;
  74. }
  75. case hostname.includes("clients") && pathname.includes("clientarea"): {
  76. presenceData.details = "Managing services in the Client Area.";
  77. break;
  78. }
  79. case hostname.includes("clients") && pathname.includes("supporttickets"): {
  80. presenceData.details = "Looking at all the support tickets.";
  81. break;
  82. }
  83. case hostname.includes("clients") && pathname.includes("store"): {
  84. presenceData.details = "Purchasing a package.";
  85. break;
  86. }
  87. case hostname.includes("clients") && pathname.includes("viewticket"): {
  88. presenceData.details = "Viewing a support ticket.";
  89. break;
  90. }
  91. // Webhosting
  92. case hostname.includes("heos-hosting.site") && pathname.includes("apps"): {
  93. presenceData.details = "Adding apps to a website.";
  94. break;
  95. }
  96. case hostname.includes("heos-hosting.site") &&
  97. pathname.includes("analytics"): {
  98. presenceData.details = "Reviewing website analytics.";
  99. break;
  100. }
  101. case hostname.includes("heos-hosting.site") &&
  102. pathname.includes("domains"): {
  103. presenceData.details = "Managing the domains of a website.";
  104. break;
  105. }
  106. case hostname.includes("heos-hosting.site") &&
  107. pathname.includes("emails"): {
  108. presenceData.details = "Managing email configurations of a website.";
  109. break;
  110. }
  111. case hostname.includes("heos-hosting.site") && pathname.includes("files"): {
  112. presenceData.details = "Managing the files of a website.";
  113. break;
  114. }
  115. case hostname.includes("heos-hosting.site") &&
  116. pathname.includes("websites"): {
  117. presenceData.details = "Managing a website.";
  118. break;
  119. }
  120. case hostname.includes("heos-hosting.site"): {
  121. presenceData.details = "Looking at the web hosting dashboard.";
  122. break;
  123. }
  124. // Generic
  125. case hostname.includes("www.heo-systems.net") &&
  126. pathname.includes("webhosting"): {
  127. presenceData.details = "Looking at web hosting packages.";
  128. break;
  129. }
  130. case hostname.includes("www.heo-systems.net") &&
  131. pathname.includes("minecraft-hosting"): {
  132. presenceData.details = "Looking at Minecraft hosting packages.";
  133. break;
  134. }
  135. case hostname.includes("www.heo-systems.net") &&
  136. pathname.includes("discord-bot-hosting"): {
  137. presenceData.details = "Looking at Discord bot hosting packages.";
  138. break;
  139. }
  140. case hostname.includes("www.heo-systems.net") &&
  141. pathname.includes("palworld-hosting"): {
  142. presenceData.details = "Looking at Palworld hosting packages.";
  143. break;
  144. }
  145. case hostname.includes("www.heo-systems.net") &&
  146. pathname.includes("project-zomboid-hosting"): {
  147. presenceData.details = "Looking at Project Zomboid hosting packages.";
  148. break;
  149. }
  150. case hostname.includes("www.heo-systems.net") &&
  151. pathname.includes("games"): {
  152. presenceData.details = "Looking at game hosting packages.";
  153. break;
  154. }
  155. case hostname.includes("www.heo-systems.net"): {
  156. presenceData.details = "Browsing the homepage.";
  157. break;
  158. }
  159. }
  160. if (presenceData.details) presence.setActivity(presenceData);
  161. else presence.setActivity();
  162. });