Stop Bucky

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

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==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);
})();