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.

发表回复

登录(不可用)以发表回复。

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址