Spam Destroyer

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

  1. // ==UserScript==
  2. // @name Spam Destroyer
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.1
  5. // @description Удаляет сообщения с запрещёнными символами
  6. // @match https://drawaria.online/*
  7. // @grant none
  8. // ==/UserScript==
  9.  
  10. (function() {
  11. 'use strict';
  12. const BANNED_SYMBOLS = ['𒐫']; // Добавляйте свои запрещённые символы
  13.  
  14. // Функция удаления спама
  15. const removeSpam = () => {
  16. const chat = document.getElementById('chatbox_messages');
  17. if (!chat) return;
  18.  
  19. chat.querySelectorAll('.chatmessage.playerchatmessage-highlightable')
  20. .forEach(message => {
  21. const textElement = message.querySelector('.playerchatmessage-text');
  22. if (textElement) {
  23. const text = textElement.textContent || '';
  24. if (BANNED_SYMBOLS.some(symbol => text.includes(symbol))) {
  25. console.log(`[Spam Filter] Удалено сообщение от ${message.querySelector('.playerchatmessage-selfname')?.textContent}: "${text}"`);
  26. message.remove();
  27. }
  28. }
  29. });
  30. };
  31.  
  32. // Наблюдатель за новыми сообщениями
  33. const observer = new MutationObserver(() => {
  34. console.log('[Spam Filter] Обнаружено новое сообщение');
  35. removeSpam();
  36. });
  37.  
  38. // Инициализация наблюдателя
  39. const initObserver = () => {
  40. const chat = document.getElementById('chatbox_messages');
  41. if (!chat) {
  42. setTimeout(initObserver, 100);
  43. return;
  44. }
  45.  
  46. observer.observe(chat, {
  47. childList: true,
  48. subtree: true
  49. });
  50. console.log('[Spam Filter] Наблюдение за чатом активировано');
  51. };
  52.  
  53. // Запуск наблюдателя
  54. window.addEventListener('load', initObserver);
  55.  
  56. // Дополнительная проверка каждые 500 мс
  57. setInterval(removeSpam, 100);
  58. })();