Mathswatch AutoSolver

Automatically fills and submits answers for Mathswatch questions using pre-stored answers (client-side only)

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да инсталирате разширение, като например Tampermonkey .

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         Mathswatch AutoSolver
// @namespace    http://tampermonkey.net/
// @version      2.0
// @description  Automatically fills and submits answers for Mathswatch questions using pre-stored answers (client-side only)
// @author       Anonymous
// @match        https://*.mathswatch.co.uk/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // ===========================
    // === Precomputed Answers ===
    // ===========================
    // Add questions exactly as they appear on Mathswatch.
    const answers = {
        "1+1": "2",
        "2*2": "4",
        "5-3": "2"
        // Add more questions here
    };

    // ===========================
    // === Main Function ===
    // ===========================
    function autoFillAndSubmit() {
        // Detect the input field for the answer
        const inputField = document.querySelector('input[type="text"]');
        if (!inputField) return;

        // Detect the question text element
        const questionElement = document.querySelector('.question, .question-text');
        if (!questionElement) return;

        const questionText = questionElement.innerText.trim();

        // Fill in the answer if available
        if (answers[questionText]) {
            if (inputField.value !== answers[questionText]) {
                inputField.value = answers[questionText];
                console.log(`[AutoSolver] Filled answer for: "${questionText}"`);

                // Attempt to auto-submit
                const submitButton = document.querySelector('button[type="submit"], .submit-button');
                if (submitButton) {
                    submitButton.click();
                    console.log(`[AutoSolver] Submitted answer for: "${questionText}"`);
                }
            }
        }
    }

    // ===========================
    // === Continuous Monitoring ===
    // ===========================
    // Check every 500ms for new questions
    setInterval(autoFillAndSubmit, 500);

})();