Advertisement
AHOHNMYC

Mind disasters

Feb 18th, 2017
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name        Mind disasters
  3. // @namespace   2ch culture
  4. // @include     https://2ch.hk/*
  5. // @version     0.1.4
  6. // @grant       none
  7. // ==/UserScript==
  8. function r() {
  9. //   var t = new Date();
  10.   var mind_disasters = [
  11.     ['порвался',
  12.      ' порвался'],
  13.     ['за щеку',
  14.      ' порвался за щеку'],
  15.     ['src="/stickers/',
  16.      ' со стикерами'],
  17.     ['>пук',
  18.      '-пердун'],
  19.     [new RegExp('(ты|прекрати) сам (себя|с собой|себе)', 'ig'),
  20.      '-реверсер'],
  21.     [new RegExp('ма(м(аш|к)?у|ть)( твою)? ебал', 'ig'),
  22.      '-ебун'],
  23.     [new RegExp('(ах){3,}', 'ig'),
  24.      ', ахахааха'],
  25.     [new RegExp('\\){2,}0+'),
  26.      ' ))))00']
  27.   ];
  28.   var banned_ua = [
  29. //     ['Linux: Vivaldi',
  30. //      ', упоротый сусеёб']
  31.   ];
  32.   banned_ua = banned_ua.map(i => ['('+i[0]+')', i[1]]);
  33.  
  34.   var posts = document.querySelectorAll('.post');
  35.   for (var i=0,k=posts.length;i<k;i++) {
  36.     f(i, mind_disasters);
  37.     f(i, banned_ua);
  38.   }
  39.   function f(i, a) {
  40.     for (var j=0,k=a.length;j<k;j++)
  41.       if (posts[i].innerHTML.search(a[j][0]) > 0)
  42.         r(i, a[j][1]);
  43.   }
  44.   function r(i, caused) {
  45. //    console.log(i + 1, posts[i])
  46.     if (posts[i].querySelector('.images') != null) {
  47. //      console.log(posts[i].querySelector('.images'))
  48.       posts[i].removeChild(posts[i].querySelector('.images'))
  49.     }
  50.     with (posts[i].getElementsByTagName('blockquote') [0]) {
  51.       innerHTML = '&nbsp;Долбоёб' + caused
  52.       style.color = 'purple'
  53.       style.fontStyle = 'italic'
  54.     }
  55.   }
  56. //   console.log(new Date() — t)
  57. }
  58. r();
  59. new MutationObserver(function () {
  60.   r()
  61. }).observe(document.querySelector('.thread'), {
  62.   childList: true
  63. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement