Guest User

CDR.cz / DIIT.cz troll remover

a guest
Nov 16th, 2023
614
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 2.12 KB | Source Code | 0 0
  1. // ==UserScript==
  2. // @name CDR.cz / DIIT.cz troll remover
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description Hide comments from trolls on cdr.cz and diit.cz
  6. // @author LipcaCZ
  7. // @match https://diit.cz/clanek/*/diskuse
  8. // @match https://cdr.cz/clanek/*/diskuse
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13.     'use strict';
  14.  
  15.     var trolls = [
  16.         'JirkaK',
  17.         'ASClIIIl',
  18.         'RedMaX',
  19.         'ATITom',
  20.         '8xALU-Phoenix',
  21.         'Mirda Červíček',
  22.         'DEC-Alpha-EV8',
  23.         'Tomáš Černák',
  24.         'g6free'
  25.     ];
  26.  
  27.     var trollsQuoted = trolls.map(name => '"'+name+'"');
  28.     var trollsCondition = trollsQuoted.join(' or .=');
  29.  
  30.     function _x(STR_XPATH) {
  31.         var xresult = document.evaluate(STR_XPATH, document, null, XPathResult.ANY_TYPE, null);
  32.         var xnodes = [];
  33.         var xres;
  34.         while (xres = xresult.iterateNext()) {
  35.             xnodes.push(xres);
  36.         }
  37.  
  38.         return xnodes;
  39.     }
  40.  
  41.     var trollComments = window.jQuery(_x('//*[contains(@class,"comment ") and contains(@class,"clearfix") and .//*[contains(@class,"username") and (.=' + trollsCondition + ')]]'));
  42.  
  43.     trollComments.each(function() {
  44.         var comment = window.jQuery(this);
  45.         var originalContent = comment.html();
  46.         var trollName = comment.find('.username').text();
  47.         comment.data('originalContent', originalContent);
  48.         comment.html('[Trollovina odfiltrována]<br>');
  49.         var showButton = window.jQuery('<button>Zobrazit komentář od ' + trollName + '</button>');
  50.         showButton.css({
  51.             'background-color': 'lightgrey',
  52.             'border': 'none',
  53.             'color': 'black',
  54.             'padding': '5px 4px',
  55.             'text-align': 'center',
  56.             'text-decoration': 'none',
  57.             'display': 'inline-block',
  58.             'font-size': '12px',
  59.             'margin': '5px 10px',
  60.             'cursor': 'pointer'
  61.         });
  62.         showButton.on('click', function() {
  63.             comment.html(comment.data('originalContent'));
  64.         });
  65.         comment.append(showButton);
  66.     });
  67. })();
  68.  
Advertisement
Add Comment
Please, Sign In to add comment