您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Creates a button to solve the quiz with random answers.
// ==UserScript== // @grant none // @version 1.0.1 // @author eye-wave // @icon https://raw.githubusercontent.com/eye-wave/greasy-fork/main/packages/idrlabs-solver/assets/icon.svg // @license GPL-3.0+ // @description:de Erstellt eine Schaltfläche, um das Quiz mit zufälligen Antworten zu lösen. // @description:es Crea un botón para resolver el cuestionario con respuestas aleatorias. // @description:fr Crée un bouton pour résoudre le quiz avec des réponses aléatoires. // @description:jp ランダムな回答でクイズを解くためのボタンを作成します。 // @description:pl Tworzy przycisk do rozwiązania quizu z losowymi odpowiedziami. // @description:ru Создает кнопку для решения викторины с случайными ответами. // @name:de idrlabs.com - Solver // @name:es idrlabs.com - Solucionador // @name:fr idrlabs.com - Solveur // @name:jp idrlabs.com - ソルバー // @name:pl idrlabs.com - Solver // @name:ru idrlabs.com - Решатель // @name idrlabs.com - Solver // @namespace idrlabs.com utils // @match https://www.idrlabs.com/*.php // @description Creates a button to solve the quiz with random answers. // ==/UserScript== // ../../utils/src/index.ts function $(query) { return document.querySelectorAll(query); } function $s(query) { return document.querySelector(query); } // src/index.ts var randomInt = (max) => Math.floor(Math.random() * max); var getRandomElement = (array) => array[randomInt(array.length)]; var container = $s(".process"); if (container) { const button = document.createElement("span"); button.textContent = "Solve"; button.className = "qnav"; button.addEventListener("click", handleButtonClick, { once: true }); container.appendChild(button); } function handleButtonClick() { const agreeButton = $s(".agree"); const disagreeButton = $s(".disagree"); const ratingElements = Array.from({ length: 5 }).map((_, index) => $s(`.t${index + 1}`)); const rangeInput = $s("input[type='range']"); const finishButton = $s("[data-finish]"); const minValue = +(rangeInput?.getAttribute("min") ?? 0); const maxValue = +(rangeInput?.getAttribute("max") ?? 5) + 1; const clickRandomRating = () => { if (ratingElements.every((element) => element)) { getRandomElement(ratingElements)?.click(); return; } if (rangeInput) { rangeInput.value = `${randomInt(maxValue - minValue) + minValue}`; return; } if (agreeButton ?? disagreeButton) { Math.random() > 0.5 ? agreeButton?.click() : disagreeButton?.click(); return; } getRandomElement($(".answer"))?.click(); }; clickRandomRating(); setTimeout(handleButtonClick, 0); finishButton?.click(); }