此脚本图一乐,正常情况不应该使用本脚本
当前为
// ==UserScript==
// @name typeracer.com - Cheats
// @name:zh-CN TypeRacer 作弊工具
// @namespace Violentmonkey Scripts
// @match https://play.typeracer.com/
// @grant GM_registerMenuCommand
// @grant GM_getValue
// @version 0.2
// @author -
// @license 0BSD
// @description You shouldn't use this script or you are going to be banned from taking races.
// @description:zh-CN 此脚本图一乐,正常情况不应该使用本脚本
// ==/UserScript==
'use strict';
let el;
const press = (() => {
const _conf = {
bubbles: true,
cancelable: true,
};
const conf2 = {
inputType: "insertText",
};
function press(key) {
el.value += key;
conf2.data = _conf.key = key;
[
new KeyboardEvent('keydown', _conf),
new KeyboardEvent('keypress', _conf),
new InputEvent("input", conf2)
].forEach(f => el.dispatchEvent(f));
}
return press;
})();
const delay = n => new Promise(sol => setTimeout(sol, n));
let stop = false;
async function main () {
const txt = document.querySelector(".inputPanel div").innerText;
el = document.querySelector(".txtInput");
for (const t of txt) {
if (stop) return;
await delay(GM_getValue("speed_c", 100) + Math.trunc(Math.random() * GM_getValue("speed_v", 30)));
press(t);
}
}
GM_registerMenuCommand("停止", () => stop = true);
GM_registerMenuCommand("启动", () => (stop = false, main()));