[Discord] Disable Reply Ping Automatically

Disable reply ping automatically in your discord!

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name         [Discord] Disable Reply Ping Automatically
// @namespace    Discord UserScript
// @version      1.0.1
// @description  Disable reply ping automatically in your discord!
// @author       NoEul
// @supportURL   https://github.com/No-Eul/scripts/issues
// @match        *://discord.com/*
// @grant        none
// ==/UserScript==

new (function() {
	setInterval(() => {
		if (this.__currentUrl__ !== location.href) { // Cached url is not equal to location.href, do the following:
			if (this.observer !== undefined) // If an observer which created at previous is exist,
				this.observer.disconnect(); // disconnect it.
			else { // If it wasn't,
				this.observer = new MutationObserver(() => { // Create new instance to detect insertion of the reply box.
					let $ = document.querySelector('div[class*="mentionButton"]'); // Get ping switch in reply box.
					if ($ !== null) $.click(); // Click if it's not null. Then reply ping will be disable.
				});
			}

			if (document.querySelector('div[class|="channelTextArea"]') !== null) // If the chat box exist,
				this.observer.observe(document.querySelector('div[class|="channelTextArea"]'), { childList: true });
			// Observe that reply box was created above the chat box.

			this.__currentUrl__ = location.href; // Then cache current url.
		}
	}, 50); // I set 50 millis delay for waiting time. This task will be run every 50 milliseconds.
})();