Stop Bucky

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

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

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

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==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);
})();