Advertisement
Guest User

get script

a guest
Jun 17th, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.38 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Getscript2
  3. // @namespace dcsdcsdcs
  4. // @include http*://boards.4chan.org/*
  5. // @version 0.0.1
  6. // @updateURL http://userscripts.org/scripts/source/117715.user.js
  7. // @homepage http://userscripts.org/scripts/show/117715
  8. // ==/UserScript==
  9. var first = true, n = 0, l = 0, m = 0;
  10. var offset = 2; //how early it starts posting (default is 1, or 1 post before)
  11. var sticky = true; //posting box follows you as you scroll down the page
  12. var postrange = 11; //number of posts to use for post rate calc
  13. var evt = document.createEvent("MouseEvents");
  14.  
  15. function verbose() {
  16. if (document.getElementsByName("getstatus")[0].innerHTML == "Waiting for: " + n + "...")
  17. document.getElementsByName("getstatus")[0].innerHTML = "Waiting for: " + n + ".";
  18. else if (document.getElementsByName("getstatus")[0].innerHTML == "Waiting for: " + n + ".")
  19. document.getElementsByName("getstatus")[0].innerHTML = "Waiting for: " + n + "..";
  20. else
  21. document.getElementsByName("getstatus")[0].innerHTML = "Waiting for: " + n + "...";
  22. }
  23.  
  24. function qrcheck() {
  25. if (n == 0) return;
  26. verbose();
  27. var k = first ? n : (n-offset);
  28. GM_xmlhttpRequest({
  29. method: "HEAD",
  30. url: "http://sys.4chan.org" + location.pathname.match(/\/[^\/]+\//)[0] + "imgboard.php?res=" + k,
  31. onload: function(response) {
  32. if (n == 0) return;
  33. if (response.status == 200) {
  34. if (first) {
  35. alert(n + " passed");
  36. document.getElementsByName("txtpostnumber")[0].value = n;
  37. document.getElementsByName("txtpostnumber")[0].focus();
  38. document.getElementsByName("getstatus")[0].innerHTML = "Ready...";
  39. n = 0;
  40. } else {
  41. document.getElementsByName("com_submit")[0].click();
  42. document.getElementsByName("getstatus")[0].innerHTML = "Ready...";
  43. document.getElementsByName("txtpostnumber")[0].value = "";
  44. }
  45. } else {
  46. first = false;
  47. qrcheck();
  48. }
  49. }
  50. });
  51. }
  52.  
  53. function postrates() {
  54. if (n == 0) return;
  55. verbose();
  56. GM_xmlhttpRequest({
  57. method: "HEAD",
  58. url: "http://sys.4chan.org" + location.pathname.match(/\/[^\/]+\//)[0] + "imgboard.php?res=" + n,
  59. onload: function(response) {
  60. if (n == 0) return;
  61. if (response.status == 200) {
  62. if (first) {
  63. alert(n + " passed");
  64. document.getElementsByName("txtpostnumber")[0].value = n;
  65. document.getElementsByName("txtpostnumber")[0].focus();
  66. document.getElementsByName("getstatus")[0].innerHTML = "Ready...";
  67. n = 0;
  68. } else {
  69. if (l == 0) {
  70. l = (new Date()).getTime() / 1000;
  71. n = (n + postrange);
  72. document.getElementsByName("getstatus")[0].innerHTML = "Waiting for: " + n + "...";
  73. postrates();
  74. }
  75. else {
  76. //m = Math.round((new Date()).getTime() / 1000 - l);
  77. evt.initMouseEvent("click", true, false, self, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  78. e1 = document.getElementsByTagName('form')[0].submit();
  79. el.dispatchEvent(evt);
  80. document.getElementsByName("getstatus")[0].innerHTML = "Ready...";
  81. }
  82. }
  83. } else {
  84. first = false;
  85. postrates();
  86. }
  87. }
  88. });
  89. }
  90.  
  91. function setup() {
  92. getbox = window.document.createElement('div');
  93. getbox.innerHTML = "<html> <head> <title></title> </head> <body> <table border='0' cellpadding='0' cellspacing='1' id='getbox' style='width: 200px;'> <tbody> <tr> <td colspan='2'> <label name='getstatus'>Ready...</label></td> </tr> <tr> <td colspan='2' style='text-align: center;'> <input name='txtpostnumber' size='24' style='width: 100%' type='text' /></td> </tr> <tr> <td style='text-align: center; width: 32%;'> <input name='btqrpost' style='width: 100%' type='button' value='Post' /></td> <td style='text-align: center; width: 36%;'> <input name='btpostrate' style='width: 100%' type='button' value='Post Rate' /></td> </tr> </tbody> </table> <p> &nbsp;</p> </body> </html>";
  94. if (sticky == true) {
  95. getbox.style.position = "fixed";
  96. }
  97. else {
  98. getbox.style.position = "absolute";
  99. }
  100. getbox.style.right = "20px";
  101. getbox.style.top = "39px";
  102. window.document.getElementsByTagName("body")[0].appendChild(getbox);
  103.  
  104. document.getElementsByName("btqrpost")[0].addEventListener("click", function(e) {
  105. if (document.getElementById("qr")) {
  106. var inputs = document.getElementsByTagName('input');
  107. for (var j=0; j < inputs.length; j++)
  108. {
  109. inp = inputs[j];
  110. if (inp.getAttribute('type') == 'submit' && inp.getAttribute('value') == "Submit" && inp.getAttribute('id') != "com_submit")
  111. {
  112. inputs[j].name = "com_submit"
  113. }
  114. }
  115. first = true;
  116. document.getElementsByName("txtpostnumber")[0].value = document.getElementsByName("txtpostnumber")[0].value.replace(/[^0123456789]/g, "");
  117. n = parseInt(document.getElementsByName("txtpostnumber")[0].value);
  118. if (!isNaN(n)) {
  119. document.getElementsByName("getstatus")[0].innerHTML = "Waiting for: " + n + "...";
  120. qrcheck();
  121. }
  122. else
  123. alert("Invalid Number");
  124. }
  125. else
  126. alert("Quick Reply is not Open");
  127. }, false);
  128.  
  129. document.getElementsByName("btpostrate")[0].addEventListener("click", function(e) {
  130. document.getElementsByName("txtpostnumber")[0].value = document.getElementsByName("txtpostnumber")[0].value.replace(/[^0123456789]/g, "");
  131. n = parseInt(document.getElementsByName("txtpostnumber")[0].value);
  132. if (!isNaN(n)) {
  133. document.getElementsByName("txtpostnumber")[0].value = "";
  134. document.getElementsByName("getstatus")[0].innerHTML = "Waiting for: " + n + "...";
  135. l = 0;
  136. postrates();
  137. }
  138. else
  139. alert("Invalid Number");
  140. }, false);
  141.  
  142. }
  143.  
  144. setup();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement