Greasy Fork is available in English.

Coolmath Hangman Script

Coolmath Hangman auto solver and username bypasser

// ==UserScript==
// @name         Coolmath Hangman Script
// @namespace    http://tampermonkey.net/
// @version      2024-04-27
// @description  Coolmath Hangman auto solver and username bypasser
// @author       You
// @match        https://hangman-frontend.coolmathgames.com/*
// @match        https://hangman-backend.coolmathgames.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=coolmathgames.com
// @license      ISC
// @grant        none
// ==/UserScript==

// Auto solve quick play + private games
const _call = Function.prototype.call;
Function.prototype.call = function(...args) {
    const ret = _call.apply(this, args);
    if (args[args.length - 1] === 'value' && !!args[0]?.value?.puzzleStatus && args[0].value.puzzleStatus.length && !!args[0].value.ableToPick) {
        let letters = document.querySelector('div[class*="Pad_Pad"');
        if (!letters) return ret;

        const keys = {};
        [...letters.children].forEach((x, i) => {
            keys[String.fromCharCode(65 + i)] = () => { try { x.children[0].click() } catch {} };
        });

        const remaining = [...new Set(args[0].value.puzzleStatus.filter(x => x.type === 'underline').flatMap(x => x.value))];
        if (keys[remaining[0]]) keys[remaining[0]]();
    }
    return ret;
}

// Auto solve local games
Object.defineProperty(Object.prototype, 'wordData', {
    get() {
        return this._wordData;
    },
    set(val) {
        window.remaining = [...new Set(val.word.toUpperCase().split('').filter(x => x.charCodeAt(0) > 64 && x.charCodeAt(0) < 91))];

        setTimeout(() => {
            window.remaining.forEach(letter => {
                window.app.screenGame.tryGuessLetter(letter)
            });
        }, 5000);

        this._wordData = val;
    },
});

// List of words not allowed in usernames, B64 encoded for obvious reasons
const wordFilterArr = [
    "M3NvbWU=",
    "M3dheQ==",
    "NHNvbWU=",
    "YWJvcnRpb24=",
    "YWJ1c2U=",
    "YWRkaWN0",
    "YWRvbGVzY2VudA==",
    "YWR1bHQ=",
    "YW5hbA==",
    "YW51cw==",
    "YXJhYg==",
    "YXJlb2xh",
    "YXJpb2xh",
    "YXJvdXNl",
    "YXJzZQ==",
    "YXNpYW4=",
    "YXNwZXJn",
    "YXNz",
    "YXV0aXM=",
    "YXpu",
    "YmFja2Rvb3I=",
    "YmFuZw==",
    "YmFwdGlzdA==",
    "YmFyZg==",
    "YmFzdGFyZA==",
    "YmJ3",
    "YmRzbQ==",
    "YmVhbmVy",
    "YmVhc3RhbA==",
    "YmVhc3RpYWw=",
    "YmVhdA==",
    "YmVhdHRoZW1lYXQ=",
    "YmVhdmVy",
    "YmVhdnI=",
    "YmVlcg==",
    "YmVzdGFs",
    "YmVzdGlhbA==",
    "YmlhdGNo",
    "YmlibGU=",
    "YmljdXJpb3Vz",
    "YmljdXJpb3V6",
    "Yml0Y2g=",
    "Yml0ZW1l",
    "YmxpbmQ=",
    "Ymxvb2R5",
    "Ymxvdw==",
    "Ymxvd2pvYg==",
    "Ymx1ZWJhbGw=",
    "Ym9hbmc=",
    "Ym9nYW4=",
    "Ym9odW5r",
    "Ym9sbG9jaw==",
    "Ym9sbG9r",
    "Ym9tYg==",
    "Ym9uZGFnZQ==",
    "Ym9uZXI=",
    "Ym9uZw==",
    "Ym9vYg==",
    "Ym9vZ2Vy",
    "Ym9vdHk=",
    "YnJhenplcnM=",
    "YnJlYXN0",
    "YnJvdGhlbA==",
    "YnVnZ2Vy",
    "YnVra2FrZQ==",
    "YnVybg==",
    "YnV0Y2g=",
    "YnV0dA==",
    "YnV0dGVy",
    "YnV0dHBsdWc=",
    "Y2FtYWx0bw==",
    "Y2FtZWx0b2U=",
    "Y2FtZ2lybA==",
    "Y2FycGV0bXVuY2g=",
    "Y2F0aG9saWM=",
    "NGNoYW4=",
    "Zm91cmNoYW4=",
    "Y2hhdHVyYmF0",
    "Y2hlcnJ5",
    "Y2hpY2s=",
    "Y2hpbGQ=",
    "Y2hpbmE=",
    "Y2hpbmVzZQ==",
    "Y2hpbms=",
    "Y2hsYW0=",
    "Y2hvYWQ=",
    "Y2hvYWs=",
    "Y2hvYXQ=",
    "Y2hvZGU=",
    "Y2hyaXN0",
    "Y2lnYXI=",
    "Y2lncw==",
    "Y2xhbWRp",
    "Y2xpdA==",
    "Y2xvZ3dvZw==",
    "Y29jYWluZQ==",
    "Y29jaw==",
    "Y29pdGFs",
    "Y29pdHVz",
    "Y29rZQ==",
    "Y29tbWll",
    "Y29tbXVu",
    "Y29uZG9t",
    "Y29vY2g=",
    "Y29vbGll",
    "Y29vbHk=",
    "Y29vbg==",
    "Y29wdWxhdA==",
    "Y29ybmhvbGU=",
    "Y293Z2lybA==",
    "Y3JhYnM=",
    "Y3JhY2s=",
    "Y3JhcA==",
    "Y3JlYW1waWU=",
    "Y3JpbWluYWw=",
    "Y3JvdGNo",
    "Y3Vjaw==",
    "Y3Vt",
    "Y3VudA==",
    "Y3liZXJzZXg=",
    "Y3liZXJzbGltZQ==",
    "ZGFobWVy",
    "ZGFtbQ==",
    "ZGFtbg==",
    "ZGFya2ll",
    "ZGFya3k=",
    "ZGNr",
    "ZGVhZA==",
    "ZGVhcHRocm9hdA==",
    "ZGVlcHRocm9hdA==",
    "ZGVmZWNhdA==",
    "ZGVnbw==",
    "ZGVtb2NyYXQ=",
    "ZGVtb24=",
    "ZGV1c3RjaA==",
    "ZGV2aWw=",
    "ZGV2bA==",
    "ZGljaw==",
    "ZGlkZGxl",
    "ZGlsZG8=",
    "ZGluZ2xlYmVycnk=",
    "ZGlzZWFzZQ==",
    "ZGlzdHVyYmVk",
    "ZGl4",
    "ZG9nZ2ll",
    "ZG9nZ3k=",
    "ZG9taW5hdHI=",
    "ZG9uZw==",
    "ZG9vZG9v",
    "ZG9va2ll",
    "ZG9va3k=",
    "ZG9vbQ==",
    "ZG9wZQ==",
    "ZG91YmxlcGVu",
    "ZHJhZw==",
    "ZHJ1Zw==",
    "ZHJ1bms=",
    "ZHZs",
    "ZHh5",
    "ZHlrZQ==",
    "ZWF0bWU=",
    "ZWJvbnk=",
    "ZWNzdGFjeQ==",
    "ZWNzdGFzeQ==",
    "ZWdncGxhbnQ=",
    "ZWphY3U=",
    "ZW5lbWE=",
    "ZW5lbXk=",
    "ZW50aG8=",
    "ZXJlY3Q=",
    "ZXJla3Q=",
    "ZXNjb3J0",
    "ZXRobmlj",
    "ZXhjcmVtZW50",
    "ZXhlY3V0",
    "ZXhwbG9zaW9u",
    "ZXh0YWN5",
    "ZXh0YXN5",
    "ZmFjZXNpdA==",
    "ZmFjaWFs",
    "ZmFjaw==",
    "ZmFlY2Vz",
    "ZmFn",
    "ZmFpdGg=",
    "ZmFubnk=",
    "ZmFueQ==",
    "ZmFydA==",
    "ZmFzY2hp",
    "ZmFzY2k=",
    "ZmF0c28=",
    "ZmNr",
    "ZmVhY2Vz",
    "ZmVjZXM=",
    "ZmVjaw==",
    "ZmVsYXRpbw==",
    "ZmVsY2g=",
    "ZmVsY2hpbmc=",
    "ZmVsbGF0ZQ==",
    "ZmVsbGF0aW8=",
    "ZmVsdGNo",
    "ZmVtZG9t",
    "ZmV0aXNo",
    "ZmlsaXBp",
    "ZmluZ2Vy",
    "ZmluZ3I=",
    "ZmlyaW5n",
    "ZmlzdA==",
    "Zmxhbmdl",
    "Zmxhbmo=",
    "Zmxhc2hlcg==",
    "ZmxhdHVs",
    "ZmxvZ2dpbmc=",
    "Zmxvbw==",
    "Zm5nZXI=",
    "Zm5ncg==",
    "Zm9r",
    "Zm9uZGw=",
    "Zm9vdGpvYg==",
    "Zm9yZXNr",
    "Zm9ybmljYXQ=",
    "Zm91cnNvbWU=",
    "Zm91cnR3ZW50",
    "Zm91cnR3bnQ=",
    "ZnJhdWQ=",
    "ZnViYXI=",
    "ZnVjaw==",
    "ZnVkZ2U=",
    "ZnVnbHk=",
    "ZnVr",
    "ZnVuZXJhbA==",
    "ZnVycmllcw==",
    "ZnV1",
    "Z2FuZ2Jhbmc=",
    "Z2FuZ2JuZw==",
    "Z2VlemVy",
    "Z2VuaXRhbA==",
    "Z2VybWFu",
    "Z2hldHRv",
    "Z2lybHM=",
    "Z2l2ZWhlYWQ=",
    "Z2xvcnlob2xl",
    "Z25nYm5n",
    "Z29k",
    "Z29sZGVuc2hvd2Vy",
    "Z29ub3Jy",
    "Z29vaw==",
    "Z29yaWxsYQ==",
    "Z3JlYXNlYmFsbA==",
    "Z3Jpbmdv",
    "Z3Jvc3M=",
    "Z3Vu",
    "aGFtYXM=",
    "aGFuZGpvYg==",
    "aGFyZG9u",
    "aGFyZW0=",
    "aGF0ZQ==",
    "aGVsbA==",
    "aGVudGFp",
    "aGVyb2lu",
    "aGVycGVz",
    "aGV0ZXJv",
    "aGlkZGVuY2Ft",
    "aGlqYWNr",
    "aGlsbGJpbGw=",
    "aGluZG9v",
    "aGluZHU=",
    "aGl0bGVy",
    "aG5kamI=",
    "aG5kam9i",
    "aG9l",
    "aG9sZQ==",
    "aG9taWNpZA==",
    "aG9tbw==",
    "aG9ua2U=",
    "aG9va2Vy",
    "aG9vdGVy",
    "aG9ybmV5",
    "aG9ybmk=",
    "aG9ybnk=",
    "aG9zZWpvYg==",
    "aG9zdGFnZQ==",
    "aG90dG90cm90",
    "aG91c2V3aWZl",
    "aHVtaWxpYXQ=",
    "aHVza3k=",
    "aHVzc3k=",
    "aHVzdGxlcg==",
    "aHltZW4=",
    "aHltaWU=",
    "aWRpb3Q=",
    "aWxsZWdhbA==",
    "aW5jZXN0",
    "aW5maWRlbA==",
    "aW50ZXJhY2lhbA==",
    "aW50ZXJjb3Vycw==",
    "aW50ZXJyYWNpYWw=",
    "aXNpcw==",
    "aXNyYWVs",
    "amFja2luZw==",
    "amVyaw==",
    "amVzdXM=",
    "amV3",
    "amloYWQ=",
    "amltZmlzaA==",
    "amlzbQ==",
    "aml6",
    "am9pbnQ=",
    "anVnZw==",
    "anVnZ2Fsbw==",
    "anVncw==",
    "anVuZ2xlYnVubg==",
    "a2FmZmly",
    "a2FmZnJl",
    "a2FmaXI=",
    "a2FtYXN1dHJh",
    "a2lrZQ==",
    "a2lsbA==",
    "a2luaw==",
    "a2tr",
    "a25pZmU=",
    "a25vYmVuZA==",
    "a25vY2tlcnM=",
    "a29jaw==",
    "a29uZHVt",
    "a29vbg==",
    "a290ZXg=",
    "a3JhcA==",
    "a3JhcHB5",
    "a3VuaWw=",
    "a3Vubmls",
    "a3Vubm4=",
    "a3lrZQ==",
    "bGFiaWE=",
    "bGFjdGF0ZQ==",
    "bGFwZGFuY2U=",
    "bGF0aW4=",
    "bGVzYg==",
    "bGV6",
    "bGliZXJhbA==",
    "bGliaWQ=",
    "bGlja2Vy",
    "bGlja21l",
    "bGlja3I=",
    "bGluZ2VyaWU=",
    "bGlxcg==",
    "bGlxdW9y",
    "bG1hbw==",
    "bG1mYW8=",
    "bG9hZGVk",
    "bG9saXRh",
    "bG9vc2Vy",
    "bG9zZXI=",
    "bG92ZWJvbmU=",
    "bG92ZWdvbw==",
    "bG92ZWd1bg==",
    "bG92ZWp1aWNl",
    "bG92ZW11c2NsZQ==",
    "bG92ZXBpc3RvbA==",
    "bG92ZXJvY2tldA==",
    "bHNk",
    "bHViZWpvYg==",
    "bHVjaWZlcg==",
    "bHluY2g=",
    "bWFjYWNh",
    "bWFja2RhZGR5",
    "bWFuaGF0ZXI=",
    "bWFucGFzdGU=",
    "bWFyaWp1YW5h",
    "bWFyeWphbmU=",
    "bWFzdGFiYXQ=",
    "bWFzdGVyYmF0",
    "bWFzdHJhYmF0",
    "bWFzdHVyYmF0",
    "bWF0dHJlc3NwcmluY2Vzcw==",
    "bWNrZGFkZHk=",
    "bWVhdGJlYXQ=",
    "bWVhdHJhY2s=",
    "bWV0aA==",
    "bWV4aWNtZ2dlcg==",
    "bWdnb3I=",
    "bWlkZWFzdA==",
    "bWlsZg==",
    "bWlub3JpdGllcw==",
    "bWlub3JpdHk=",
    "bW9ja2V5",
    "bW9ja2ll",
    "bW9ja3k=",
    "bW9mbw==",
    "bW9reQ==",
    "bW9sZXN0",
    "bW9uZXlzaG90",
    "bW9ua2V5",
    "bW9vbmNyaWNrZXQ=",
    "bW9ybW9u",
    "bW9yb24=",
    "bW9zbGVt",
    "bW9zbGlt",
    "bW90aGFm",
    "bW90aGVyZg==",
    "bXVmZg==",
    "bXVsYXRv",
    "bXVsYXR0bw==",
    "bXVuY2g=",
    "bXVuY2hlcg==",
    "bXVudA==",
    "bXVyZGVy",
    "bXVzbGVt",
    "bXVzbGlt",
    "bmFnZ2Vy",
    "bmFnZ3I=",
    "bmFrZWQ=",
    "bmFyY28=",
    "bmFzdHk=",
    "bmF6aQ==",
    "bmVjcm9waGls",
    "bmVncm8=",
    "bmdncg==",
    "bmlnZ2E=",
    "bmlnZ2Vy",
    "bmlnZ3Vy",
    "bmlnbGV0",
    "bmlnbm9n",
    "bmlncg==",
    "bmlncmU=",
    "bmlwcGxl",
    "bml0dGl0",
    "bmxnZw==",
    "bm9va2ll",
    "bm9va3k=",
    "bm9vbmVy",
    "bnVkZQ==",
    "bnVrZQ==",
    "bnltcGhv",
    "bnltcGhldHRl",
    "b250aGVyYWc=",
    "b3JhbA==",
    "b3JnYXNpbQ==",
    "b3JnYXNt",
    "b3JnaWVz",
    "b3JneQ==",
    "b3JpZW50YWw=",
    "b3JpZW50bA==",
    "b3NhbWE=",
    "cGFraXN0YW4=",
    "cGFsZXN0aW4=",
    "cGFuc2llcw==",
    "cGFuc3k=",
    "cGF5bw==",
    "cGNrZXRwb29s",
    "cGVhcmxuZWNrbGFjZQ==",
    "cGVja2Vy",
    "cGVkbw==",
    "cGVlbg==",
    "cGVlcHNob3c=",
    "cGVnZ2luZw==",
    "cGVuZHk=",
    "cGVuZGVqbw==",
    "cGVuZXRyYXQ=",
    "cGVuaXM=",
    "cGVudGhvdXNl",
    "cGVyaW9k",
    "cGVybG4=",
    "cGVydg==",
    "cGhpbGxpcGk=",
    "cGh1aw==",
    "cGltcA==",
    "cGlzcw==",
    "cGlzdG9s",
    "cGl4aWU=",
    "cGl4eQ==",
    "cGxheWJveQ==",
    "cGxheWdpcmw=",
    "cGxtcA==",
    "cG9ja2V0cG9vbA==",
    "cG9sYWNr",
    "cG9sb2Nr",
    "cG9vbnRhbmc=",
    "cG9vcA==",
    "cG9vcndoaXRl",
    "cG9waW1w",
    "cG9ybg==",
    "cG92ZXJ0eQ==",
    "cHJlZ25hdA==",
    "cHJlZ25hbnQ=",
    "cHJpY2s=",
    "cHJsbg==",
    "cHJvbnByaW5jZXNz",
    "cHJvc3RhdA==",
    "cHJvc3RpdHV0",
    "cHJvdGVzdGFudA==",
    "cHViZQ==",
    "cHViaWM=",
    "cHVja2J1bm4=",
    "cHVkYm95",
    "cHVkZGJveQ==",
    "cHVrZQ==",
    "cHVuZXRhbmc=",
    "cHVudGFuZw==",
    "cHVzc3k=",
    "cXVlZWY=",
    "cXVlZXI=",
    "cXVpY2tpZQ==",
    "cmFjaWFs",
    "cmFjaXN0",
    "cmFnaGVhZA==",
    "cmFwZQ==",
    "cmFwaXN0",
    "cmF3ZG9n",
    "cmF3ZGF3Zw==",
    "cmVhbGl0eWtpbmc=",
    "cmVhcmVuZA==",
    "cmVhcmVudHJ5",
    "cmVjdHVt",
    "cmVkbGlnaHQ=",
    "cmVkbmVjaw==",
    "cmVlZmVy",
    "cmVlc3RpZQ==",
    "cmVmdWdlZQ==",
    "cmVpY2g=",
    "cmVwdWJsaWNhbg==",
    "cmV0YXJk",
    "cmliYmVk",
    "cmlnZ2Vy",
    "cmltam9i",
    "cmltbWluZw==",
    "cm91bmRleWU=",
    "c2FkaXM=",
    "c2Fkb20=",
    "c2F0YW4=",
    "c2F1ZGk=",
    "c2Npc3NvcmluZw==",
    "c2NobG9uZw==",
    "c2NyZXc=",
    "c2Nyb3Q=",
    "c2Nyb3R1bQ==",
    "c2N1bQ==",
    "c2VkdWNl",
    "c2VkdWNpbmc=",
    "c2VtZW4=",
    "c2VwcHVrdQ==",
    "c2VydmFudA==",
    "c2V4",
    "c2hhaXQ=",
    "c2hhdA==",
    "c2hoaGl0",
    "c2hoaXQ=",
    "c2hpdA==",
    "c2hvb3Q=",
    "c2lwaGlsaXM=",
    "c2l4c2l4c2l4",
    "c2l4dHluaW5l",
    "c2thbms=",
    "c2tpbmZsdXRl",
    "c2t1bQ==",
    "c2xhbnRleWU=",
    "c2xhdWdodGVy",
    "c2xhdmU=",
    "c2xheQ==",
    "c2xlZXpl",
    "c2xpZGVpdGlu",
    "c2xpbWViYWxs",
    "c2xpbWVidWNrZXQ=",
    "c2x1dA==",
    "c21hY2s=",
    "c21lZ21h",
    "c21va2luZw==",
    "c211dA==",
    "c25hdGNo",
    "c25pcGVy",
    "c29kb20=",
    "c29ub2Zh",
    "c3Bhbms=",
    "c3Blcm0=",
    "c3BpY2s=",
    "c3Bvb2dl",
    "c3ByZWFkZWFnbGU=",
    "c3B1bms=",
    "c3RlcGJyb3RoZXI=",
    "c3RlcGZhdGhlcg==",
    "c3RlcGRhdWdodGVy",
    "c3RlcHNpc3Rlcg==",
    "c3RpZmZ5",
    "c3RyYXBvbg==",
    "c3RyaXA=",
    "c3Ryb2tl",
    "c3Ryb2tpbmc=",
    "c3R1cGlk",
    "c3Vjaw==",
    "c3VpY2lkZQ==",
    "c3dhbGxvdw==",
    "c3dhc3Rpa2E=",
    "c3dhdHN0aWth",
    "c3dhdHp0aWth",
    "c3dpbmdlcg==",
    "c3lwaGlsaXM=",
    "dGFtcG9u",
    "dGVhdA==",
    "dGVycm9y",
    "dGVzdGVz",
    "dGVzdGljbA==",
    "dGVzdGljdWw=",
    "dGhpY2tsaXBz",
    "dGhpcmRleWU=",
    "dGhpcmRsZWc=",
    "dGhyZWVzb20=",
    "dGhyZWVzb21l",
    "dGhyZWV3YXk=",
    "dGlua2xl",
    "dGl0am9i",
    "dGl0bGljaw==",
    "dGl0bG92ZQ==",
    "dGl0cw==",
    "dGl0dGll",
    "dGl0dHk=",
    "dG50",
    "dG9pbGV0",
    "dG9uZ2V0aHJ1c3Q=",
    "dG9uZ3Vl",
    "dG9zc2Vy",
    "dG93ZWxoZWFk",
    "dHJhaWxlcnRyYXNo",
    "dHJhbXA=",
    "dHJhbm5pZQ==",
    "dHJhbm55",
    "dHJhbnN2ZXN0",
    "dHJvamFu",
    "dHVnam9i",
    "dHVyZA==",
    "dHVybm9u",
    "dHdhdA==",
    "dHdlcms=",
    "dHdpbms=",
    "dXBza2lydA==",
    "dXJpbmFy",
    "dXJpbmF0",
    "dXJpbmU=",
    "dXNhbWE=",
    "dXRlcnVz",
    "dmFnaW5h",
    "dmF0aWNhbg==",
    "dmlicmF0",
    "dmlldGNvbmc=",
    "dmlvbGVu",
    "dmlyZ2lu",
    "dm9taXQ=",
    "dnVsdmE=",
    "d2Fuaw==",
    "d2F5c3RlZA==",
    "d2F5c3Rpbmc=",
    "d2VhcG9u",
    "d2VlZA==",
    "d2Vlbmll",
    "d2Vlbnk=",
    "d2Vld2Vl",
    "d2VsZmFyZQ==",
    "d2V0YmFjaw==",
    "d2V0c3BvdA==",
    "d2hhc2g=",
    "d2hpZ2dlcg==",
    "d2hpc2tleQ==",
    "d2hpc2t5",
    "d2hpdGVjaG9jb2xhdGU=",
    "d2hpdGV0cmFzaA==",
    "d2hpdGV5",
    "d2hvcmU=",
    "d2lnZ2Vy",
    "d2luZQ==",
    "d29tZW4=",
    "d3N1enppZQ==",
    "d3Rm",
    "d3Vzcw==",
    "eWVsbG93bWFu",
    "eWVsbG93ZmV2ZXI=",
    "eW9tYW0=",
    "eW9tb20=",
    "emlnYWJv",
    "emlwcGVyaGVhZA==",
    "Njk=",
    "NDIw",
    "NjY2",
    "ODg="
].map(x => atob(x));

// Use any name in private matches
const _includes = String.prototype.includes;
String.prototype.includes = function () {
    if (wordFilterArr.includes(arguments[0])) return false;
    return _includes.apply(this, arguments);
}