Stop Bucky

Specifically targets and destroys the 'ocelot_id' div and related Ocelot artifacts.

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

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

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         Stop Bucky
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description  Specifically targets and destroys the 'ocelot_id' div and related Ocelot artifacts.
// @author       You
// @match        *://arc.losrios.edu/*
// @match        *://losrios.edu/*
// @run-at       document-start
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // LAYER 1: Immediate CSS Nuking
    // This ensures that even if the div exists, it has 0px height/width and is invisible.
    const style = document.createElement('style');
    style.innerHTML = `
        #ocelot_id, [id*="ocelot"], .ocelot-bot-button, #chat-app-header {
            display: none !important;
            visibility: hidden !important;
            height: 0 !important;
            width: 0 !important;
            overflow: hidden !important;
            pointer-events: none !important;
            position: absolute !important;
            top: -9999px !important;
        }
    `;
    document.documentElement.appendChild(style);

    // LAYER 2: The "Search and Destroy" Function
    const killBucky = () => {
        const target = document.getElementById('ocelot_id');
        if (target) {
            console.log('Tampermonkey: Found and destroyed ocelot_id');
            target.remove();
        }
        // Also catch any fragments like the header or buttons seen in the source
        document.querySelectorAll('.ocelot-bot-button, #chat-app-header, [class*="oclt-"]').forEach(el => el.remove());
    };

    // LAYER 3: MutationObserver (Watches for the injection)
    const observer = new MutationObserver((mutations) => {
        mutations.forEach(() => killBucky());
    });

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

    // LAYER 4: Final Sweep on load
    window.addEventListener('load', killBucky);
    // LAYER 5: Periodic check (for aggressive re-injection)
    setInterval(killBucky, 1000);
})();