Greasy Fork is available in English.

Quizlet micromatch bot

Win micromatch in < 100 seconds!

< Quizlet micromatch botについてのフィードバック

レート:可 - スクリプトは動作するがバグがある

§
投稿日: 2017/12/19

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)

§
投稿日: 2017/12/19

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

Danielv123作者
§
投稿日: 2017/12/21

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.

返信を投稿

返信を投稿するにはログインしてください。