Kick.com - Auto select best quality

Auto select best quality

2024-09-12 기준 버전입니다. 최신 버전을 확인하세요.

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

You will need to install an extension such as Tampermonkey to install this script.

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

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

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

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

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

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

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

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

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

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

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

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

    // ==UserScript==
    // @name         Kick.com - Auto select best quality
    // @namespace    https://greasyfork.org/en/users/1200587-trilla-g
    // @version   1.0
    // @author       Trilla_G
    // @description  Auto select best quality
    // @match        *://kick.com/*
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=kick.com
    // @grant        GM_addStyle
    // @run-at       document-start
    // @license      MIT
    // ==/UserScript==
     
    (function() {
        'use strict';
     
        // Function to check if a quality option is selected and click it if not
        let checkQuality = (quality) => {
            let node = document.evaluate("//span[text()='"+quality+"']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
            if (node){
                if (node.parentNode.getAttribute('aria-checked') === 'true'){
                    return true;
                }
                node.parentNode.click();
                return true;
            }
            return false;
        };
     
        // Function to set the stream quality
        let setStreamQuality = () => {
            if (checkQuality('1080p60') ||
               checkQuality('1080p') ||
               checkQuality('936p60') ||
               checkQuality('720p60') ||
               checkQuality('720p') ||
               checkQuality('Auto') ){
                return true;
            }
            return false;
        };
     
        // Run the setStreamQuality function every 500 ms
        setInterval(() => {
            setStreamQuality();
        }, 500);
     
    })();