Chat Ignore List

Ignores chat messages from user names you designate

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name        Chat Ignore List
// @namespace   ora99.idle-pixel.chatignorelist
// @match       https://idle-pixel.com/login/play/*
// @grant       none
// @version     1.0
// @author      Ora99
// @license     MIT
// @description Ignores chat messages from user names you designate
// ==/UserScript==

// Add user names here, one name per line
const IGNORE_LIST = `
Obnoxious User
AnnoyingRacist
Obnoxious User 300

`
// Leave the rest of this file as-is

.split(/\n/).filter(Boolean).map(x => x.toLowerCase());

(() => {
  const observer = new MutationObserver((mutations) => {
    mutations.forEach((mutation) => {
      const username = mutation.target.lastChild?.children?.[3]?.getAttribute('href')?.match(/username=([^&]+)/)?.[1]?.toLowerCase();
        if (username && IGNORE_LIST.includes(username)) {
          console.log('Ignored message:', mutation.target.lastChild.innerText);
          mutation.target.lastChild.remove();
      }
    });
  });
  observer.observe(document.getElementById('chat-area'), {
    attributes: true,
    childList: true,
    subtree: true,
  });
})();