// ==UserScript== // @name Zapier, why won't u just leave me alone? // @namespace http://git.minimally.online/ // @version 0.1 // @description Allows you to hide Slack messages from needlessly noisy apps/individuals based on content // @author drudgesentinel (Sean) // @match *://app.slack.com/* // @icon https://i.postimg.cc/NGb9WSWn/is-it-joy.png // @grant none // @downloadURL https://git.minimally.online/drudgesentinel/stfu-zapier/raw/branch/main/foz.user.js // @updateURL https://git.minimally.online/drudgesentinel/stfu-zapier/raw/branch/main/foz.user.js // ==/UserScript== //going to eventually want to check if the terraform-support is highlighted, probably. We'll see. // At present, this filtration is specific to app generated messages. const removeMessages = () => { const messages = Array.from(document.querySelectorAll('[data-qa="virtual-list-item"]')); const haveButtons = messages.filter(message => message.querySelector('button')); haveButtons.forEach( (node) => removeIfSpam(node, "SEV2 Handoff Candidate")); } const removeIfSpam = (node, spamMessage) => { if(node.querySelector('button').textContent.includes(spamMessage)) { node.replaceChildren(); } } //adjust this, faster is better but might impact performance idk setInterval( removeMessages, 500);