Kick Auto Reject Raid

Automatically reject incoming raids on Kick.com レイドを自動的に拒否します

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         Kick Auto Reject Raid
// @namespace    kick-auto-reject
// @version      1.0
// @description  Automatically reject incoming raids on Kick.com レイドを自動的に拒否します
// @match        https://kick.com/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function () {
    'use strict';

    function rejectRaid() {
        // ボタン候補を広めに探索(UI変更対策)
        const buttons = Array.from(document.querySelectorAll('button'));

        for (const btn of buttons) {
            const text = btn.innerText?.toLowerCase();

            if (!text) continue;

            // 「reject」「decline」などを検知
            if (
                text.includes('拒否') ||
                text.includes('decline') ||
                text.includes('reject')
            ) {
                console.log('[Kick Auto Reject] Raid rejected');
                btn.click();
                return;
            }
        }
    }

    // モーダル出現を検知するための監視
    const observer = new MutationObserver(() => {
        rejectRaid();
    });

    observer.observe(document.body, {
        childList: true,
        subtree: true
    });

    // 念のため定期チェック
    setInterval(rejectRaid, 2000);
})();