KeeganT

Hunt for Texts

Jan 15th, 2020
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name           Hunt for texts
  3. // @namespace      typeracer
  4. // @include        https://play.typeracer.com/*
  5. // @require        http://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js
  6. // ==/UserScript==
  7.  
  8. var orig_title = document.title;
  9.  
  10. var needles = [
  11.     "submarines",
  12. ];
  13. var keep_going = 0;
  14.  
  15. function join_practice() {
  16.     document.title = orig_title;
  17.  
  18.     var link = $("a:contains('Practice')");
  19.  
  20.     var evt = document.createEvent("HTMLEvents");
  21.     evt.initEvent("click", true, true);
  22.     link[0].dispatchEvent(evt);
  23.  
  24.     if (keep_going) setTimeout(search, 750);
  25. }
  26.  
  27. function search() {
  28.     var content = document.body.textContent || document.body.innerText;
  29.  
  30.     var found = 0;
  31.     for (var i = 0; i < needles.length; i++) {
  32.         if (content.indexOf(needles[i]) !== -1) {
  33.             document.title = 'Text found!';
  34.             found = 1;
  35.             break;
  36.         }
  37.     }
  38.  
  39.     if (!found) {
  40.         if (keep_going) leave_practice();
  41.     }
  42.     else {
  43.         keep_going = 0;
  44.     }
  45. }
  46.  
  47. function leave_practice() {
  48.     var link = $("a:contains('leave practice')");
  49.  
  50.     var evt = document.createEvent("HTMLEvents");
  51.     evt.initEvent("click", true, true);
  52.     link[0].dispatchEvent(evt);
  53.  
  54.     if (keep_going) setTimeout(join_practice, 500);
  55. }
  56.  
  57. function hunt_keyup(e) {
  58.     if (e.ctrlKey && e.altKey && e.keyCode == 65) {
  59.         keep_going = 1;
  60.         join_practice();
  61.     }
  62.     if (e.ctrlKey && e.altKey && e.keyCode == 66) {
  63.         keep_going = 0;
  64.     }
  65. }
  66.  
  67. document.addEventListener("keyup", hunt_keyup, false);
Advertisement
Add Comment
Please, Sign In to add comment