Greasy Fork is available in English.

Quizlet micromatch bot

Win micromatch in < 100 seconds!

< Отзив за Quizlet micromatch bot

Отзив: ОК - скриптът работи, но има бъгове

§
Публикуван на: 19.12.2017

Change Code

// ==UserScript==
// @name Quizlet micromatch bot
// @namespace Danielv123
// @version 3.1
// @description Win micromatch in < 100 seconds!
// @author You
// @match https://quizlet.com/*/micro*
// @grant none
// ==/UserScript==

// this script died when microscatter turned into micromatch, but it still works albeit badly.
// edit: Version 2.0 fixed everything and its now able to get sub 0.5 second times!
function eventFire(el, etype){
if (el.fireEvent) {
el.fireEvent('on' + etype);
} else {
var evObj = document.createEvent('Events');
evObj.initEvent(etype, true, false);
el.dispatchEvent(evObj);
}
}
terms = Quizlet.matchModeData.terms;
wordDefinition = {};
definitionWord = {};
for(let i = 0; i < terms.length; i++){
wordDefinition[terms[i].word] = terms[i].definition;
definitionWord[terms[i].definition] = terms[i].word;
}
firstClick = true;
document.onclick = ()=>{
firstClick = false;
setTimeout(()=>{
// Magic for loop instead
// checks if the combination is right before clicking :)
for(let i=0;i/mig, '');
let translatedWord;
if(wordDefinition[word]){
translatedWord = wordDefinition[word];
} else if(definitionWord[word]){
translatedWord = definitionWord[word];
}
// console.log(translatedWord);
// find another word in the same dataset ID and click that as well
for(let o = 0; o < document.querySelector(".MatchModeQuestionGridBoard-tiles").childNodes.length; o++) {
// console.log("o = " + o );
if(document.querySelector(".MatchModeQuestionGridBoard-tiles").childNodes[o].innerHTML.includes(translatedWord)) {
let x = i;
setTimeout(()=>{
console.log("Found word pair: "+translatedWord+":"+word);
eventFire(document.querySelector(".MatchModeQuestionGridBoard-tiles").childNodes[o].childNodes[0], "pointerdown");
setTimeout(()=>{
eventFire(document.querySelector(".MatchModeQuestionGridBoard-tiles").childNodes[x].childNodes[0], "pointerdown");
},00);
},i*300);
}
}
}
}
},500);
};

// brute force, they now penalize faults so this is shit
/*
setInterval(function() {
var dwfg = Math.floor(Math.random() * 16);
// console.log(document.getElementById("cells").childNodes[dwfg].getAttribute("data-type"));
if(document.getElementById("cells").childNodes[dwfg].className == "cell long touching correct" || document.getElementById("cells").childNodes[dwfg].className == "cell long touching touched"){
} else {
eventFire(document.querySelector("#cells").childNodes[dwfg], "click");
}
}, 1);
*/
setInterval(function() {
//eventFire(document.querySelector("body > div:nth-child(4) > div > div.UIModal.is-open > div > div > div.HighscoresMessage > div.UIDiv.HighscoresMessage-button > button"), "click");
}, 2000)

§
Публикуван на: 19.12.2017

Remove the First Line And Disable Any Ad Blockers And It Shall Work. I Got 3.2 Sec.s on my first try.

Danielv123Автор
§
Публикуван на: 21.12.2017

I am not quite sure what you mean by the "first line", and can't seem to see any difference from what you posted here and the current version of the script.

Was there something broken that you fixed? In that case, I am more than happy to publish it as an update with credits to you.

Публикувайте отговор

Влезте, за да публикувате отговор.