Randomize font!

Клоунский скрипт

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Randomize font!
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Клоунский скрипт
// @author       Fenion
// @match        https://anichat.ru/
// @icon         https://www.google.com/s2/favicons?sz=64&domain=anichat.ru
// @grant        none
// ==/UserScript==

const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1) + min);
const boldNames = ['bold', 'heavybold', 'ital', 'boldital', 'heavyital', ''];

const injectToSendMessage = () => {
    const origin = window.processChatPost;
    window.processChatPost = (...args) => {
        const colorInt = randomInt(0, 32);
        const fontInt = randomInt(0, 7);
        const boldInt = randomInt(0, 5);
        fetch('/system/action_profile.php', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
            },
            body:  new URLSearchParams({
                save_color: !colorInt ? '': 'bcolor' + colorInt,
                save_bold: boldNames[randomInt(0, boldNames.length - 1)],
                save_font:  !fontInt ? '': 'bfont' + fontInt,
                token: window.utk,
            })
        })
            .catch(console.error)
            .finally(() => origin(...args));
    };
};

(function () {
    'use strict';

    injectToSendMessage();
})();