0% found this document useful (0 votes)
2K views4 pages

Khan Academy Answer Revealer Script

Uploaded by

eduardogua1999
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views4 pages

Khan Academy Answer Revealer Script

Uploaded by

eduardogua1999
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

// ==UserScript==

// @name Khan Academy Bot


// @version 1.4
// @description ur welcome cheater
// @author Darckfenix
// @match [Link]
// @grant none
// ==/UserScript==

(function () {
'use strict';
[Link] = false;

class Answer {
constructor(answer, type) {
[Link] = answer;
[Link] = type;
}

get isMultiChoice() {
return [Link] == "multiple_choice";
}

get isFreeResponse() {
return [Link] == "free_response";
}

get isExpression() {
return [Link] == "expression";
}

get isDropdown() {
return [Link] == "dropdown";
}

log() {
const answer = [Link];
const style = "color: coral; -webkit-text-stroke: .5px black; font-
size:24px; font-weight:bold;";

[Link](ans => {
if (typeof ans == "string") {
if ([Link]("web+graphie")) {
[Link][[Link](ans)] = "";
[Link](ans);
} else {
answer[[Link](ans)] = [Link]("$", "");
}
}
});

const text = [Link]("\n");


if (text) {
[Link](`%c${[Link]()} `, style);
}
}

printImage(ans) {
const url = [Link]("![](web+graphie", "https").replace(")",
".svg");
const image = new Image();

[Link] = url;
[Link] = () => {
const imageStyle = [
'font-size: 1px;',
'line-height: ', [Link] % 2, 'px;',
'padding: ', [Link] * .5, 'px ', [Link] * .5, 'px;',
'background-size: ', [Link], 'px ', [Link], 'px;',
'background: url(', url, ');'
].join(' ');
[Link]('%c ', imageStyle);
};
}
}

const originalFetch = [Link];


[Link] = function () {
return [Link](this, arguments).then(async (res) => {
if ([Link]("/getAssessmentItem")) {
const clone = [Link]();
const json = await [Link]()

let item, question;

try {
item = [Link];
question = [Link](item).question;
} catch {
let errorIteration = () => { return
[Link]("error_iter") || 0; }
[Link]("error_iter", errorIteration() + 1);

if (errorIteration() < 4) {
return [Link]();
} else {
return [Link]("%c An error occurred", "color: red;
font-weight: bolder; font-size: 20px;");
}
}

if (!question) return;

[Link]([Link]).map(widgetName => {
switch ([Link](" ")[0]) {
case "numeric-input":
return freeResponseAnswerFrom(question).log();
case "radio":
return multipleChoiceAnswerFrom(question).log();
case "expression":
return expressionAnswerFrom(question).log();
case "dropdown":
return dropdownAnswerFrom(question).log();
}
});
}

if (![Link]) {
[Link]();
[Link]("%c Answer Revealer ", "color: mediumvioletred; -
webkit-text-stroke: .5px black; font-size:40px; font-weight:bolder;
padding: .2rem;");
[Link]("%cCreated by Alex Dubov (@adubov1)", "color: white; -
webkit-text-stroke: .5px black; font-size:15px; font-weight:bold;");
[Link] = true;
}

return res;
})
}

function freeResponseAnswerFrom(question) {
const answer = [Link]([Link]).map((widget) => {
if ([Link]?.answers) {
return [Link](answer => {
if ([Link] == "correct") {
return [Link];
}
});
}
}).flat().filter((val) => { return val !== undefined; });

return new Answer(answer, "free_response");


}

function multipleChoiceAnswerFrom(question) {
const answer = [Link]([Link]).map((widget) => {
if ([Link]?.choices) {
return [Link](choice => {
if ([Link]) {
return [Link];
}
});
}
}).flat().filter((val) => { return val !== undefined; });

return new Answer(answer, "multiple_choice");


}

function expressionAnswerFrom(question) {
const answer = [Link]([Link]).map((widget) => {
if ([Link]?.answerForms) {
return [Link](answer => {
if ([Link](answer).includes("correct")) {
return [Link];
}
});
}
}).flat();

return new Answer(answer, "expression");


}

function dropdownAnswerFrom(question) {
const answer = [Link]([Link]).map((widget) => {
if ([Link]?.choices) {
return [Link](choice => {
if ([Link]) {
return [Link];
}
});
}
}).flat();

return new Answer(answer, "dropdown");


}
})();

You might also like