NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Bot for Grepolis // @namespace Bot for Grepolis // @description Bot for Grepolis // @license MIT // @author green elephant // @version 2.4 // @run-at document-end // @updateUrl https://botsoft.org/bot/gef.user.js // @include http://*.grepolis.com/* // @include https://*.grepolis.com/* // @exclude forum.*.grepolis.*/* // @exclude wiki.*.grepolis.*/* // @connect botsoft.org // @grant GM.xmlHttpRequest // ==/UserScript== (function(){ var hash = Math.random().toString(36).substr(2), eventRequest = hash + "request", eventResponse = hash + "response"; document.addEventListener(eventRequest, function(e){ var params = (typeof e.detail=="object") ? e.detail : JSON.parse(e.detail); params.onload = function(response){ var out = { id : params.id, status: response.status, text : response.responseText } var cloned = (typeof cloneInto=="function") ? cloneInto(out, document) : out; var e2 = new CustomEvent(eventResponse, {detail: cloned, bubblies: true}); document.dispatchEvent(e2); } if (typeof e.detail.headers=="object") params.headers = e.detail.headers; GM.xmlHttpRequest(params); }); var init = { url : "https://botsoft.org/bot/ajaxv2/", method: "POST", data : JSON.stringify({ method: "bot:login:hash", data : {hash: hash} }), onload: function(response){ var script = document.createElement("script"); script.type = "text/javascript"; script.src = "//botsoft.org/bot/bot.js?nocache="+Math.random(); document.getElementsByTagName("head")[0].appendChild(script); } } GM.xmlHttpRequest(init); })();