higherlowergame "hack"

why did i make this...

  1. // ==UserScript==
  2. // @name higherlowergame "hack"
  3. // @description why did i make this...
  4. // @icon https://i.imgur.com/ORAaPzD.png
  5. // @version 2
  6.  
  7. // @author VillainsRule
  8. // @namespace https://villainsrule.xyz
  9.  
  10. // @match *://*.higherorlowergame.com/*
  11. // @match *://*.higherlowergame.com/*
  12.  
  13. // @run-at document-start
  14. // @grant none
  15. // ==/UserScript==
  16.  
  17. const higherorlowergame_com = () => {
  18. Object._values = Object.values
  19. Object.values = function(obj) {
  20. if (Object.prototype.toString.call(obj) === "[object Module]") {
  21. let keys = Object.keys(obj);
  22. window.answers = obj[keys[0]];
  23. console.log('got answers', window.answers);
  24. }
  25.  
  26. return Object._values(obj);
  27. }
  28.  
  29. const observer = new MutationObserver(() => {
  30. console.log('observer called!');
  31.  
  32. let headers = document.querySelectorAll('.playfield-pane__heading');
  33. if (!headers) return;
  34.  
  35. let alpha = headers[0].innerText;
  36. let beta = headers[1].innerText;
  37.  
  38. console.log('found two options', alpha, beta);
  39.  
  40. let alphaTrack = answers.find((a) => a.title == alpha);
  41. let betaTrack = answers.find((a) => a.title == beta);
  42.  
  43. console.log('found option tracks', alphaTrack, betaTrack);
  44.  
  45. if (alphaTrack.playCount > betaTrack.playCount) window.correctIndex = 0;
  46. else window.correctIndex = 1;
  47.  
  48. console.log('decided correctIndex', window.correctIndex);
  49.  
  50. document.querySelectorAll('.playfield-pane__heading')[window.correctIndex].style.backgroundColor = 'green';
  51. document.querySelectorAll('.playfield-pane__heading')[+!window.correctIndex].style.backgroundColor = 'red';
  52.  
  53. console.log('updated DOM');
  54. });
  55.  
  56. window.addEventListener('load', () => observer.observe(document.body, {
  57. childList: true,
  58. subtree: true
  59. }));
  60. }
  61.  
  62. const higherlowergame_com = () => window.addEventListener('load', () => {
  63. if (!document.querySelector('div')) return;
  64.  
  65. const observer = new MutationObserver(() => {
  66. let game = document.querySelector('.game');
  67. if (!game) return;
  68.  
  69. let reactProps = Object.keys(game).find(key => key.startsWith('__reactInternalInstance'));
  70. let gameData = game[reactProps]._currentElement.props.children[0].props.children;
  71.  
  72. let left = gameData[0].props.term;
  73. let right = gameData[1].props.term;
  74.  
  75. let isHigher = left.searchVolume < right.searchVolume;
  76.  
  77. let higherButton = document.querySelector('.term-actions__button--higher');
  78. let lowerButton = document.querySelector('.term-actions__button--lower');
  79.  
  80. if (higherButton) higherButton.style.borderColor = isHigher ? 'lime' : 'red';
  81. if (lowerButton) lowerButton.style.borderColor = !isHigher ? 'lime' : 'red';
  82. });
  83.  
  84. observer.observe(document.querySelector('div'), {
  85. childList: true,
  86. subtree: true
  87. });
  88. })
  89.  
  90. let url = new URL(location.href);
  91.  
  92. if (url.host.endsWith('higherorlowergame.com')) higherorlowergame_com();
  93. if (url.host.endsWith('higherlowergame.com')) higherlowergame_com();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址