Greasy Fork is available in English.

Twitch Betterment

Отключение автоматического понижения качества видео, автоматическое начисление очков Twitch и нажатие кнопки "Показать больше".

// ==UserScript==
// @name         Twitch Betterment
// @namespace    Twitch Betterment
// @version      1.0
// @description  Отключение автоматического понижения качества видео, автоматическое начисление очков Twitch и нажатие кнопки "Показать больше".
// @author       Maesta_Nequitia
// @match        *://*.twitch.tv/*
// @grant        none
// @run-at       document-start
// @icon         https://www.twitch.tv/favicon.ico
// @license      MIT
// ==/UserScript==

(function () {
    'use strict';

    const setHiddenProperties = () => ['hidden', 'mozHidden', 'webkitHidden', 'visibilityState', 'webkitVisibilityState']
        .forEach(prop => Object.defineProperty(document, prop, { value: false, writable: false }));

    const disableAutomaticDownscale = () => {
        setHiddenProperties();
        document.dispatchEvent(new Event('visibilitychange'));
        document.addEventListener('visibilitychange', e => e.stopImmediatePropagation(), true);
        localStorage.setItem('s-qs-ts', Math.floor(Date.now()));
        localStorage.setItem('video-quality', '{"default":"chunked"}');
    };

    const clickBonus = () => {
        const bonusIcon = document.querySelector(".claimable-bonus__icon");
        bonusIcon && (console.log("[AutoClick] Bonus claimed!"), bonusIcon.click());
    };

    const startAutoClicker = () => setInterval(clickBonus, Math.random() * 1870 + 7600);

    const clickShowMoreButton = () => {
        const showMoreButton = document.querySelector('[data-a-target="side-nav-show-more-button"]');
        showMoreButton && showMoreButton.click();
    };

    disableAutomaticDownscale();
    startAutoClicker();
    setTimeout(clickShowMoreButton, 4000);
})();