Spam Destroyer

Удаляет сообщения с запрещёнными символами

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да инсталирате разширение, като например Tampermonkey .

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         Spam Destroyer
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Удаляет сообщения с запрещёнными символами
// @match        https://drawaria.online/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    const BANNED_SYMBOLS = ['𒐫']; // Добавляйте свои запрещённые символы

    // Функция удаления спама
    const removeSpam = () => {
        const chat = document.getElementById('chatbox_messages');
        if (!chat) return;

        chat.querySelectorAll('.chatmessage.playerchatmessage-highlightable')
            .forEach(message => {
                const textElement = message.querySelector('.playerchatmessage-text');
                if (textElement) {
                    const text = textElement.textContent || '';
                    if (BANNED_SYMBOLS.some(symbol => text.includes(symbol))) {
                        console.log(`[Spam Filter] Удалено сообщение от ${message.querySelector('.playerchatmessage-selfname')?.textContent}: "${text}"`);
                        message.remove();
                    }
                }
            });
    };

    // Наблюдатель за новыми сообщениями
    const observer = new MutationObserver(() => {
        console.log('[Spam Filter] Обнаружено новое сообщение');
        removeSpam();
    });

    // Инициализация наблюдателя
    const initObserver = () => {
        const chat = document.getElementById('chatbox_messages');
        if (!chat) {
            setTimeout(initObserver, 100);
            return;
        }

        observer.observe(chat, {
            childList: true,
            subtree: true
        });
        console.log('[Spam Filter] Наблюдение за чатом активировано');
    };

    // Запуск наблюдателя
    window.addEventListener('load', initObserver);

    // Дополнительная проверка каждые 500 мс
    setInterval(removeSpam, 100);
})();