From 352bd25d561d952a79214a91f9ca5ecee11c547f Mon Sep 17 00:00:00 2001 From: Kichiyaki Date: Thu, 6 Aug 2020 12:35:49 +0200 Subject: [PATCH] inADayTribeRankingGenerator should wait 200ms after each request --- dist/inADayTribeRankingGenerator.js | 24 ++++++++++++++++---- dist/quickbar/inADayTribeRankingGenerator.js | 8 ++++--- src/inADayTribeRankingGenerator.js | 8 ++++--- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/dist/inADayTribeRankingGenerator.js b/dist/inADayTribeRankingGenerator.js index 4c44e11..af56832 100644 --- a/dist/inADayTribeRankingGenerator.js +++ b/dist/inADayTribeRankingGenerator.js @@ -204,11 +204,24 @@ class InADayParser { } exports.default = InADayParser; -},{"../utils/getIDFromURL":"tQUs"}],"s4G3":[function(require,module,exports) { +},{"../utils/getIDFromURL":"tQUs"}],"oUdd":[function(require,module,exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _default = t => new Promise(resolve => setTimeout(resolve, t)); + +exports.default = _default; +},{}],"s4G3":[function(require,module,exports) { "use strict"; var _InADayParser = _interopRequireDefault(require("./libs/InADayParser")); +var _wait = _interopRequireDefault(require("./utils/wait")); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // ==UserScript== @@ -216,10 +229,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de // @namespace https://github.com/tribalwarshelp/scripts // @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js // @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js -// @version 0.1.0 +// @version 0.1.1 // @description 'In A Day' Tribe Ranking Generator // @author Kichiyaki http://dawid-wysokinski.pl/ -// @match *://*/game.php*screen=ranking&mode=in_a_day* +// @match *://*/game.php*screen=ranking*mode=in_a_day* // @grant none // @run-at document-end // ==/UserScript== @@ -266,6 +279,7 @@ const handleFormSubmit = async e => { if (parser.trs.length !== 26) break; players = [...players, ...parser.parse()]; page++; + await (0, _wait.default)(200); } catch (error) { break; } @@ -273,7 +287,7 @@ const handleFormSubmit = async e => { players = players.slice(0, limit); Dialog.show('iad_result', "\n \n ")); }; @@ -295,4 +309,4 @@ const renderUI = () => { console.log("'In A Day' Tribe Ranking Generator", error); } })(); -},{"./libs/InADayParser":"dSAr"}]},{},["s4G3"], null) \ No newline at end of file +},{"./libs/InADayParser":"dSAr","./utils/wait":"oUdd"}]},{},["s4G3"], null) \ No newline at end of file diff --git a/dist/quickbar/inADayTribeRankingGenerator.js b/dist/quickbar/inADayTribeRankingGenerator.js index 4c9645e..70bfa23 100644 --- a/dist/quickbar/inADayTribeRankingGenerator.js +++ b/dist/quickbar/inADayTribeRankingGenerator.js @@ -2,6 +2,8 @@ parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcel "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=e=>parseInt(new URLSearchParams(e).get("id"));exports.default=e; },{}],"dSAr":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=t(require("../utils/getIDFromURL"));function t(e){return e&&e.__esModule?e:{default:e}}class r{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.dom=(new DOMParser).parseFromString(e,"text/html"),this.trs=this.dom.querySelectorAll("#in_a_day_ranking_table tbody tr"),this.filters=t}isValidRow(e){return!!e&&((!this.filters.playerID||e.playerID===this.filters.playerID)&&!(this.filters.tribes&&Array.isArray(this.filters.tribes)&&!this.filters.tribes.some(t=>t===e.tribe)))}parseRow(t){if(!t||!t instanceof HTMLTableRowElement)return;let r={};return r.rank=parseInt(t.children[0].innerText.trim()),r.name=t.children[1].innerText.trim(),r.playerID=(0,e.default)(t.children[1].querySelector("a").getAttribute("href")),r.tribe=t.children[2].innerText.trim(),r.tribeID=0,r.tribe&&(r.tribeID=(0,e.default)(t.children[2].querySelector("a").getAttribute("href"))),r.score=parseInt(t.children[3].innerText.trim().replace(/\./g,"")),r.date=t.children[4].innerText.trim(),r}parse(){const e=[];for(let t=1;t{const e=document.querySelector("#iad_tribes"),t=document.createElement("div");t.innerHTML='\n \n \n \n ',t.querySelector("button").addEventListener("click",()=>{e.children.length>1&&t.remove()}),e.appendChild(t)},i=async t=>{t.preventDefault();const n=parseInt(document.querySelector("#iad_limit").value),a=[],r=new URLSearchParams(window.location.search).get("type")||"kill_att";document.querySelectorAll("#iad_tribes input").forEach(e=>{e.value&&a.push(e.value.trim())});let i=[],o=0;for(;i.length".concat(i.length,"/").concat(n,""));try{const t=await fetch(TribalWars.buildURL("",{screen:"ranking",mode:"in_a_day",type:r,offset:25*o})),n=await t.text(),l=new e.default(n,{tribes:a});if(26!==l.trs.length)break;i=[...i,...l.parse()],o++}catch(c){break}}i=i.slice(0,n),Dialog.show("iad_result","\n \n "))},o=()=>{const e=document.createElement("div"),t='\n
\n
\n
\n
\n \n \n
\n \n \n
\n ');e.innerHTML=t,document.querySelector("#content_value > table > tbody > tr > td:nth-child(2)").prepend(e),e.querySelector("form").addEventListener("submit",i),e.querySelector("#iad_add").addEventListener("click",r),r()};!function(){try{o()}catch(e){console.log("'In A Day' Tribe Ranking Generator",e)}}(); -},{"./libs/InADayParser":"dSAr"}]},{},["s4G3"], null) \ No newline at end of file +},{"../utils/getIDFromURL":"tQUs"}],"oUdd":[function(require,module,exports) { +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=e=>new Promise(t=>setTimeout(t,e));exports.default=e; +},{}],"s4G3":[function(require,module,exports) { +"use strict";var e=n(require("./libs/InADayParser")),t=n(require("./utils/wait"));function n(e){return e&&e.__esModule?e:{default:e}}const a="iad_tribes",r="iad_limit",i=()=>{const e=document.querySelector("#iad_tribes"),t=document.createElement("div");t.innerHTML='\n \n \n \n ',t.querySelector("button").addEventListener("click",()=>{e.children.length>1&&t.remove()}),e.appendChild(t)},o=async n=>{n.preventDefault();const a=parseInt(document.querySelector("#iad_limit").value),r=[],i=new URLSearchParams(window.location.search).get("type")||"kill_att";document.querySelectorAll("#iad_tribes input").forEach(e=>{e.value&&r.push(e.value.trim())});let o=[],l=0;for(;o.length".concat(o.length,"/").concat(a,""));try{const n=await fetch(TribalWars.buildURL("",{screen:"ranking",mode:"in_a_day",type:i,offset:25*l})),a=await n.text(),d=new e.default(a,{tribes:r});if(26!==d.trs.length)break;o=[...o,...d.parse()],l++,await(0,t.default)(200)}catch(c){break}}o=o.slice(0,a),Dialog.show("iad_result","\n \n "))},l=()=>{const e=document.createElement("div"),t='\n
\n
\n
\n
\n \n \n
\n \n \n
\n ');e.innerHTML=t,document.querySelector("#content_value > table > tbody > tr > td:nth-child(2)").prepend(e),e.querySelector("form").addEventListener("submit",o),e.querySelector("#iad_add").addEventListener("click",i),i()};!function(){try{l()}catch(e){console.log("'In A Day' Tribe Ranking Generator",e)}}(); +},{"./libs/InADayParser":"dSAr","./utils/wait":"oUdd"}]},{},["s4G3"], null) \ No newline at end of file diff --git a/src/inADayTribeRankingGenerator.js b/src/inADayTribeRankingGenerator.js index 18e87db..0198c66 100644 --- a/src/inADayTribeRankingGenerator.js +++ b/src/inADayTribeRankingGenerator.js @@ -1,14 +1,15 @@ import InADayParser from './libs/InADayParser'; +import wait from './utils/wait'; // ==UserScript== // @name 'In A Day' Tribe Ranking Generator // @namespace https://github.com/tribalwarshelp/scripts // @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js // @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js -// @version 0.1.0 +// @version 0.1.1 // @description 'In A Day' Tribe Ranking Generator // @author Kichiyaki http://dawid-wysokinski.pl/ -// @match *://*/game.php*screen=ranking&mode=in_a_day* +// @match *://*/game.php*screen=ranking*mode=in_a_day* // @grant none // @run-at document-end // ==/UserScript== @@ -67,6 +68,7 @@ const handleFormSubmit = async (e) => { if (parser.trs.length !== 26) break; players = [...players, ...parser.parse()]; page++; + await wait(200); } catch (error) { break; } @@ -80,7 +82,7 @@ const handleFormSubmit = async (e) => { [**][||]Player[||]Tribe[||]Rank[||]Result[||]Date[/**] ${players .map((player, index) => { - return `[*]${index + 1}[|][player]${player.name}[/player][|][ally]${ + return `[*]${index + 1}.[|][player]${player.name}[/player][|][ally]${ player.tribe }[/ally][|]${player.rank}[|]${player.score.toLocaleString()}[|]${ player.date