Sankaku Beta Auto Log in

Auto logs in if not logged in

  1. // ==UserScript==
  2. // @name Sankaku Beta Auto Log in
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.6.2
  5. // @description Auto logs in if not logged in
  6. // @author Roboapple
  7. // @match https://beta.sankakucomplex.com/*
  8. // @match https://login.sankakucomplex.com/*
  9. // @icon https://www.google.com/s2/favicons?domain=sankakucomplex.com
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. //checks if the user is on the login page
  15. if((document.URL).includes("login")){
  16. setInterval(function(){ LogIn();}, 250);
  17. return;
  18. } else{
  19. console.log(document.URL);}
  20.  
  21. 'use strict';
  22. console.log("Auto log in Active");
  23. //slight delays are added to account for load time
  24. setTimeout(() => {AutoLogIn();}, 200);
  25.  
  26. })();
  27.  
  28. function AutoLogIn(){
  29. let element = "MuiButtonBase-root-102 MuiIconButton-root-94 jss5 jss6";
  30. if(document.getElementsByClassName(element)){
  31.  
  32. console.log(document.getElementsByClassName(element).length + " open menu buttons found");
  33.  
  34. for (let i = 0; i < document.getElementsByClassName(element).length; i++) {
  35. //document.getElementsByClassName(element)[i].click();
  36. //setTimeout(() => {TestForLoggedOut();}, 200);
  37. if(document.getElementsByClassName(element)[i].ariaLabel == "Open menu"){
  38. }
  39. }
  40. }
  41.  
  42. //ever since a sankaku update the class name for the button changes sometimes
  43. let element2 = "MuiButtonBase-root-218 MuiIconButton-root-210 jss121 jss122";
  44. if(document.getElementsByClassName(element2)){
  45.  
  46. console.log(document.getElementsByClassName(element2).length + " open menu buttons found");
  47.  
  48. for (let i = 0; i < document.getElementsByClassName(element2).length; i++) {
  49. if(document.getElementsByClassName(element2)[i].ariaLabel == "Open menu"){
  50. document.getElementsByClassName(element2)[i].click();
  51. setTimeout(() => {TestForLoggedOut();}, 200);
  52. }
  53. }
  54. }
  55. }
  56.  
  57. function TestForLoggedOut(){
  58. //checks if the user is logged in
  59. let element3 = "MuiTypography-root-163 jss148 MuiTypography-body1-165"
  60. if(document.getElementsByClassName(element3)[0].textContent == "Log in"){
  61. document.getElementsByClassName("jss154")[0].click();
  62. } else {
  63. setTimeout(() => {document.getElementsByClassName("MuiBackdrop-root")[0].click();}, 200);
  64. }
  65.  
  66. let element4 = "MuiTypography-root-279 jss264 MuiTypography-body1-281"
  67. if(document.getElementsByClassName(element4)[0].textContent == "Log in"){
  68. document.getElementsByClassName("jss154")[0].click();
  69. } else {
  70. setTimeout(() => {document.getElementsByClassName("MuiBackdrop-root")[0].click();}, 200);
  71. }
  72. }
  73.  
  74. function LogIn(){
  75. for (let i = 0; i < document.getElementsByClassName("MuiButton-label").length; i++) {
  76. if(document.getElementsByClassName("MuiButton-label")[i].textContent == "Log In"){
  77.  
  78. //this delay is longer due to wierd log in bug
  79. //setTimeout(() => {document.getElementsByClassName("MuiButton-label")[i].click();}, 1000);
  80.  
  81. //wierd bug still occuring, trying a rload to see if fix
  82. //It didnt, and in fact led to another bug. Reverting until fix can be found
  83. //setTimeout(() => {location.reload();}, 1500);
  84.  
  85. }
  86. }
  87. }