- // ==UserScript==
- // @name DH2 Chat Filter
- // @namespace siderislabs
- // @include http://*.diamondhunt.co/game.php
- // @version 1.1
- // @locale us_EN
- // @description:en This script lets you filter out words you don't like in DH2 chat.
- // @description This script lets you filter out words you don't like in DH2 chat.
- // ==/UserScript==
-
- var sendBytesProxy = window.cBytes;
- var chatProxy = window.addToChatBox;
- var tmp = "";
- var filteredWords = [];
- var wordDetected;
- var isFound = 0;
- var override;
-
- console.log("DH2 Chat Filter active.");
-
- window.cBytes = function(e) {
- if(e.startsWith("CHAT=!addfilter")) {
- doAddFilter(e);
- }
- else if(e.startsWith("CHAT=!listfilters")) {
- doListFilters();
- }
- else if(e.startsWith("CHAT=!removefilter")) {
- doRemoveFilter(e);
- }
- else if(e.startsWith("CHAT=!help")) {
- doPrintHelp();
- }
- else {
- sendBytesProxy.apply(this, arguments);
- }
- }
-
- window.addToChatBox = function(username, icon, tag, message, isPM) {
- for(i = 0; i < filteredWords.length; i++) {
- if(arguments[3].includes(filteredWords[i]) && override == 0) {
- wordDetected = 1;
- }
- }
- if(wordDetected == 1) {
- wordDetected = 0;
- return;
- }
- else {
- chatProxy.apply(this, arguments);
- }
- wordDetected = 0;
- }
-
- doAddFilter = function(e) {
- tmp = e.replace("CHAT=", "");
- tmp = tmp.replace("!addfilter ", "");
- for(i = 0; i < filteredWords.length; i++) {
- if(tmp == filteredWords[i]) {
- isFound = 1;
- }
- }
- if(isFound == 0) {
- filteredWords.push(tmp);
- window.addToChatBox("placeholder", "0", "5", "Word successfully added to filter list.", "0");
- console.log(filteredWords);
- }
- else {
- window.addToChatBox("placeholder", "0", "5", "That word is already in your filter list.", "0");
- }
- }
-
- doRemoveFilter = function(e) {
- tmp = e.replace("CHAT=", "");
- tmp = tmp.replace("!removefilter ", "");
- if(filteredWords.indexOf(tmp) != -1) {
- filteredWords.splice(filteredWords.indexOf(tmp), 1);
- window.addToChatBox("placeholder", "0", "5", "Word successfully removed from filter list.", "0");
- console.log(filteredWords);
- }
- else {
- window.addToChatBox("placeholder", "0", "5", "That word is not in your filter list.", "0");
- }
- }
-
- doListFilters = function() {
- override = 1;
- window.addToChatBox("placeholder", "0", "5", "List of filtered words: " + filteredWords.toString(), "0");
- override = 0;
- }
-
- doPrintHelp = function() {
- window.addToChatBox("placeholder", "0", "5", "!addfilter [word]: Adds a word to your filter list.", "0");
- window.addToChatBox("placeholder", "0", "5", "!listfilters: Lists the words you have filtered.", "0");
- window.addToChatBox("placeholder", "0", "5", "!removefilter [word]: Removes a world from your filter list.", "0");
- }
-
-