Universal uwuifyer

Press Alt + U to type uwu style on ANY website or chat room instantly!

Verzia zo dňa 18.08.2026. Pozri najnovšiu verziu.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu budete musieť nainštalovať rozšírenie, ako je napríklad Tampermonkey alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name         Universal uwuifyer
// @namespace    http://tampermonkey.net
// @version      2.0
// @description  Press Alt + U to type uwu style on ANY website or chat room instantly!
// @author       You
// @license      MIT
// @match        *://*/*
// @include      *
// @grant        none
// @run-at       document-end
// ==/UserScript==

(function() {
    'use strict';

    // Core translation rules
    function uwuify(text) {
        return text
            .replace(/[lr]/g, 'w')
            .replace(/[LR]/g, 'W')
            .replace(/n([aeiou])/g, 'ny$1')
            .replace(/N([aeiou])/g, 'Ny$1')
            .replace(/N([AEIOU])/g, 'NY$1')
            .replace(/ove/g, 'uv');
    }

    // Force text injection regardless of security policies
    function forceInsert(targetElement, finalTxt) {
        targetElement.focus();
        
        if (targetElement.tagName === 'INPUT' || targetElement.tagName === 'TEXTAREA') {
            targetElement.value = finalTxt;
            targetElement.dispatchEvent(new Event('input', { bubbles: true }));
        } else {
            // Brute-force for contenteditables (Discord, Gemini, ChatGPT)
            const selection = window.getSelection();
            const range = document.createRange();
            range.selectNodeContents(targetElement);
            selection.removeAllRanges();
            selection.addRange(range);
            document.execCommand('insertText', false, finalTxt);
        }
    }

    // Global listener for the shortcut key
    document.addEventListener('keydown', function(e) {
        // Activates when pressing Alt + U
        if (e.altKey && e.key.toLowerCase() === 'u') {
            e.preventDefault();
            
            const activeInput = document.activeElement;
            if (!activeInput) return;

            // Prompt the user for input
            const userInput = prompt("Type your text here (It will be automatically uwuified):");
            if (userInput !== null && userInput.trim() !== "") {
                const uwuText = uwuify(userInput);
                forceInsert(activeInput, uwuText);
            }
        }
    }, true);
})();