Liveworksheets solver 2025

Gives answers

// ==UserScript==
// @name        Liveworksheets solver 2025
// @namespace   Violentmonkey Scripts
// @match       *://*.liveworksheets.com/*
// @grant       GM_registerMenuCommand
// @grant       GM.xmlHttpRequest
// @run-at       document-idle
// @version     1.0
// @author      -
// @namespace   https://github.com/nokeya
// @license MIT
// @description Gives answers

// ==/UserScript==

(function () {
  'use strict';

	GM_registerMenuCommand("start", () => start());

	function start()
	{



var font_size = "250%"
//https://www.w3schools.com/cssref/pr_font_font-size.php
var pbutton = document.getElementById("worksheet-preview-elements")
var pbuttons = pbutton.children


var config_script = ""
var config_json = ""
var localst = ""
var localjs = ""
var is_workbook = (document.location.pathname.match("/student-workbook/") != null)
///localStorage.getItem("worksheetContent")
var scripts = document.getElementsByTagName("script")
for (var i = 0; i < scripts.length; i++) {
    if (scripts[i].attributes[1] != undefined) {
        if (scripts[i].attributes[1].nodeValue == "drupal-settings-json") {
            console.log(scripts[i].attributes[1].nodeValue == "drupal-settings-json")
            config_script = scripts[i]
        }
    }
}
if (is_workbook) {
    localst = localStorage.getItem("worksheetContent")

    localjs = JSON.parse(localst)
} else {
    localst = config_script
    localjs = JSON.parse(JSON.parse(config_script.innerText).worksheet.json)
}
for (var i = 0; i < pbuttons.length; i++) {
    var matched = ""
    for (var z = 0; z < localjs.length; z++)

        //console.warn(pbuttons[i].style.left.split("px")[0])
        if ((pbuttons[i].style.left.split("px")[0] == localjs[z][2])) {
            // console.log("x")
            if (pbuttons[i].style.top.split("px")[0] == localjs[z][1]) {
                // console.log("y")
                console.error("i:" + i + " z:" + z + "   " + localjs[z][0])
                if (pbuttons[i].attributes.contenteditable != undefined) {
                    var parsed_text = localjs[z][0].replaceAll("$", "'")
                    if (parsed_text.match("/") == "/") {
                        pbuttons[i].innerText = parsed_text.split("/")[Math.round(Math.random())]
                        pbuttons[i].innerHTML = parsed_text.split("/")[Math.round(Math.random())]
                        pbuttons[i].textContent = parsed_text.split("/")[Math.round(Math.random())]
                    } else {
                        pbuttons[i].innerText = parsed_text
                        pbuttons[i].innerHTML = parsed_text
                        pbuttons[i].textContent = parsed_text
                    }


                }
                else if (pbuttons[i].className == "worksheet-select-div worksheet-clickable-element") {
                    console.error("button")
                    if (localjs[z][0] == "select:yes") {
                        pbuttons[i].click()
                        pbuttons[i].className = "worksheet-select-div worksheet-clickable-element worksheet-select-div-selected"
                    } else if (localjs[z][0] == "select:no") {
                        pbuttons[i].click()
                        pbuttons[i].className = "worksheet-select-div worksheet-clickable-element"
                    }
                }
                else if (localjs[z][0].match("join:") == "join:") {
                    pbuttons[i].innerHTML = "<h1 style='  background-color: lightblue;text-align:center;font-size: "+font_size+";'>" + localjs[z][0].split("join:")[1] + "</h1>"
                }
                              else if (localjs[z][0].match("drag:") == "drag:") {
                    pbuttons[i].innerHTML = "<h1 style='  background-color: lightblue;text-align:center;font-size: "+font_size+";'>" + localjs[z][0].split("drag:")[1] + "</h1>"
                }
                              else if (localjs[z][0].match("drop:") == "drop:") {
                    pbuttons[i].innerHTML = "<h1 style='  background-color: lightblue;text-align:center;font-size: "+font_size+";'>" + localjs[z][0].split("drop:")[1] + "</h1>"
                }
                //localjs[z][5] = localjs[z][0]
            }

        }
}
console.log(localjs)
//localStorage.setItem("worksheetContent",JSON.stringify(localjs))

  }

}) ();