Iggy

Ignore Someone!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         Iggy
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Ignore Someone!
// @author       BadNintendo
// @match        https://www.shutdown.chat/*/*
// @icon         https://www.google.com/s2/favicons?domain=tampermonkey.net
// @grant        none
 // @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
// ==/UserScript==

(function () {
    'use strict';

// Define an object to store blocked nicknames and uuids
var blockedUsers = {};

// Define an array of blocked nicknames to ignore in chat
var blockedNicknames = ["GROVE_0F_WAR", "Example2"];

// Define a function to extract the nickname from the span element with class name fcuser
function getNickname(fcuserSpan) {
	if(!fcuserSpan) return;
  var nickname = fcuserSpan.innerText.replace(/[:\-]/g, '').trim(); // remove : and - and leading/trailing spaces
  return nickname;
}

// Define a function to handle the new <p> elements
function handleNewChatMessages() {
  var chatboxElems = document.getElementsByClassName('chatbox')[0].getElementsByTagName('p');
  for (var i = 0; i < chatboxElems.length; i++) {
    var chatElem = chatboxElems[i];
    if (!chatElem.handled) { // check if the element has been handled before
      chatElem.handled = true; // mark the element as handled
      var fcuserSpan = chatElem.getElementsByClassName('fcuser')[0];
      var nickname = getNickname(fcuserSpan);
      var uuid = fcuserSpan.dataset.uuid;
      if (blockedNicknames.includes(nickname) || blockedUsers[uuid]) { // check if the nickname or uuid is blocked
        chatElem.parentNode.removeChild(chatElem); // remove the message element
      } else {
        fcuserSpan.dataset.uuid = nickname; // update the data-uuid attribute with the nickname
        blockedUsers[uuid] = false; // initialize the blocked state of the uuid to false
        blockedNicknames.push(nickname); // add the nickname to the array of blocked nicknames
      }
    }
  }
}

// Call the handleNewChatMessages function on page load and whenever the chatbox is updated
handleNewChatMessages();
document.getElementsByClassName('chatbox')[0].addEventListener('DOMNodeInserted', handleNewChatMessages);


})();