← All examples

JavaScript Ads & clutter twitch.tv

Twitch: hide chat emote spam

Detects messages made of nothing but a wall of emotes and hides them so real conversation stays visible.

Code to copy

// Collapse chat messages that are nothing but a wall of emotes
function trimEmoteSpam() {
  document.querySelectorAll('.chat-line__message').forEach(function (line) {
    if (line.dataset.jzChecked) { return; }
    line.dataset.jzChecked = '1';
    const body = line.querySelector('[data-a-target="chat-line-message-body"]');
    if (!body) { return; }
    const emotes = body.querySelectorAll('.chat-line__message--emote, img.chat-image');
    const text = (body.textContent || '').trim();
    if (emotes.length >= 4 && text.length === 0) {
      line.style.display = 'none';
    }
  });
}
trimEmoteSpam();
const obs = new MutationObserver(trimEmoteSpam);
obs.observe(document.documentElement, { childList: true, subtree: true });

How to use this example

  1. Copy the code with the button above.
  2. Install JustZix (2 minutes) and open the extension on the target page.
  3. Add a new rule matching that page.
  4. Paste the code into the rule's JavaScript panel and save — it runs on every page visit.

Rate this example

No ratings yet — be the first.

Does this example work?

Snippets are useless without somewhere to paste them.

JustZix takes 2 minutes to install and runs your code on every matching page. No account, no payment.

Download free See use cases