Guest User

Untitled

a guest
Oct 26th, 2022
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         HIMARS
  3. // @version      3.1
  4. // @description  Humiliating IMageboard ARmy  Script
  5. // @match        https://2ch.hk/*
  6. // @match        https://2ch.life/*
  7. // ==/UserScript==
  8.  
  9. const vatniks = [
  10.     [ "logos/comm.png" , "/flags/A1.png" ], // Сева
  11.     [ "logos/comm.png" , "/flags/AT.png" ], // Сева
  12.     [ "/flags/.png"    , "logos/nya.png" ], //Пидор без флага с nyan-cat
  13. ];
  14.  
  15. const phrases = [
  16.     "Ко-ко-ко! Ку-ка-ре-ку!",
  17.     "Батько наш Бандера, Україна — мати!",
  18.     "Сегодня сварил чай из лапухов на родниковой воде с Макеевки, это был лучший чай в моей жизни!<br><span class=\"thanks-abu\" style=\"color: red;\">Абу благословил этот пост.</span>",
  19.     "Швабра - орудие пролетариата",
  20.     "Володин и Пригожин не геи!!1111",
  21.     "<b>ВРЁТИИИИИИИИИИИИИИИИИИ</b>",
  22.     "Бывает, я как-то в детстве из коляски выпал до сих пор мне говорят что я особенный",
  23.     "Как научиться говорить паляниця?",
  24.     "Лиман наш!",
  25.     "По крымскому мосту можно теперь доехать до крейсера \"Москва\" ничего вы не понимаете!",
  26.     "Прежде чем стирать штаны нам нужно понять для чего это нужно делать, если с коммунизмом всё чётко и понятно описано сотнями книг, то что делать со штанами вопрос дискуссий и исследований",
  27.     "Вот когда повестка придёт тогда и пойду, но меня не возьмут с инвалидностью",
  28.     "Сейчас еще немного и вот начнут по настоящему и как возьмут Киев за 3 дня, я погляжу как вы захрюкаете",
  29.     "Крейсер \"Москва\" уже особо не нужен был, его бы и так списали",
  30.     "Ну и правильно что Азов обменяли на Медведчука, нахуя нам их кормить и содержать?",
  31.     "Сталин взял страну с лопатой и граблями, а вернул с тракторами и победой. Да был геноцид и что с этого, без жертв не случиться прогресс",
  32.     "ПТН - ХЛО<br>Лалалала лала лала ла",
  33.     "Голодомора не было это всё фейки ЧИПСО! Был геноцид, но это было оправдано тем временем",
  34.     "Подумаешь окопались в рыжем лесу, в Великую Отечественную там тоже были бои, партизаны жили в этом лесу и ничего все остались живы и здоровы!",
  35.     "Это был отвлекающий маневр Киев никто брать не хотел, как и Изюм с Лиманом",
  36.     "Всё было по плану и даже с опережением графика, меньше нужно слушать всяких телеграмщиков, а узнавать из официальных источников",
  37.     "Если отводят войска это не отступают, а значит так решило командование",
  38.     "Коммунист - друг человека, а те кто это не понимает будут объявлены врагами народа и расстреляны",
  39.     "Я прошу передать Абу, что я никогда в жизни политически не обманывал двач, о чем знают тысячи лиц, знающие мою честность и скромность. Прошу передать Абу, что все то, что случилось со мною, является просто стечением обстоятельств и не исключена возможность, что и враги приложили свои руки, которых я проглядел. Передайте Абу, что в бане я буду с его именем на устах",
  40.     "Коммунизм - это наука доказанная диалектикой, значит все теории коммунизме правильные, это в очередной раз доказывает главную аксиому Карла Маркса",
  41.     "Вот объясните мне почему плохо ходить в грязных штанах? Я просто пытаюсь разобраться"
  42. ]
  43.  
  44. Array.prototype.random = function () {
  45.     return this[Math.floor((Math.random() * this.length))];
  46. }
  47.  
  48. function toggle_visibility() {
  49.     const post_img = this.parentNode.parentNode.querySelectorAll(".post__images");
  50.     const vis = v => post_img.forEach(e => e.style.visibility = v);
  51.     if (post_img.length < 1) return;
  52.     post_img[0].style.visibility == "hidden" ? vis("") : vis("hidden");
  53. }
  54.  
  55. function add_details(el, html) {
  56.     const details = document.createElement("details");
  57.     const summary = document.createElement("summary");
  58.     const p = document.createElement("p");
  59.     summary.innerText = "..."
  60.     p.innerHTML = html;
  61.     details.appendChild(summary);
  62.     details.appendChild(p);
  63.     details.style.cursor = "pointer";
  64.     details.style.fontSize = "10px";
  65.     details.addEventListener('click',toggle_visibility,false);
  66.     el.appendChild(details);
  67. }
  68.  
  69. function himars(el) {
  70.     if (el.classList.contains("himarsed")) return;
  71.     const e = el.querySelector("article");
  72.     const shit_text = e.innerHTML;
  73.     const links = e.querySelectorAll(".post-reply-link");
  74.     el.querySelectorAll(".post__images").forEach(e => e.style.visibility = "hidden");
  75.     e.innerHTML = phrases.random();
  76.     links.forEach(l => {
  77.         l.addEventListener('mouseover',clown_listener,false);
  78.         e.insertBefore(document.createElement("br"), e.firstChild);
  79.         e.insertBefore(l, e.firstChild);
  80.     });
  81.     add_details(e, shit_text);
  82.     el.classList.add("himarsed");
  83. }
  84.  
  85. async function clown_listener() {
  86.     await new Promise(r => setTimeout(r, 200));
  87.     main();
  88. }
  89.  
  90. function main() {
  91.      const gbc  = (cname,node=document) => (node.getElementsByClassName(cname)); //sugar, babe
  92.      const filt = post => vatniks.some( v => v.every( c => post.innerHTML.includes(c)));
  93.      const links = document.querySelectorAll(".post-reply-link");
  94.      links.forEach( l => l.addEventListener('mouseover',clown_listener,false) );
  95.      Array.from(gbc("post_type_reply")).filter(filt).forEach(himars);
  96. }
  97.  
  98.  
  99. document.body.onload = main;
Add Comment
Please, Sign In to add comment