vk_skipper

u can skip any shit from yr newsfeed

  1. // ==UserScript==
  2. // @name vk_skipper
  3. // @version 0.1
  4. // @description u can skip any shit from yr newsfeed
  5. // @author M0j K0t
  6. // @license MIT
  7. // @include *vk.com*
  8. // @run-at document-end
  9. // @grant none
  10. // @namespace https://greasyfork.org/users/14309
  11. // ==/UserScript==
  12.  
  13. function vanillafeed()
  14. {
  15. var global_words = "(Крым|медведев|путин|навальн|гитлер|ленин|сталин|ельцин|митинг|фальсификац|выборов|выборах|парламент|триумфальн|избирательн|оппозиц|госдум|единая\sросс|единую\sросс|голосовал|нашист|омон|национализм|\sедро|партии|партия|арест)'";
  16. var publics = {};
  17. publics["https://vk.com/proglib"] = [ "#weekly@proglib", "#cpp@proglib"];
  18. publics["https://vk.com/tproger"] = [ "#link@tproger", "#problems@tproger", "#solutions@tproger"];
  19. publics["https://vk.com/existentialdatings"] = [ "#еМосква", "#eМосква"];
  20. var reverse = {};
  21. reverse["https://vk.com/proglib"] = true;
  22. reverse["https://vk.com/existentialdatings"] = true;
  23. var li = document.getElementsByClassName("wall_text");
  24. for (var i = 0; i < li.length; i++)
  25. {
  26. var public_href = li[i].getElementsByClassName("wall_text_name")[0].getElementsByClassName("author")[0].href;
  27. if (Array.isArray(publics[public_href]) )
  28. {
  29. var skipper = new RegExp("(" + publics[public_href].join('|') + ")");
  30. var glob = new RegExp(global_words);
  31. li[i].parentNode.setAttribute('vfx', 'true');
  32. var rev_flag = false;
  33. if (reverse[public_href])
  34. {
  35. rev_flag = true;
  36. }
  37.  
  38. if ( glob.test(li[i].innerHTML) == true )
  39. {
  40. li[i].parentNode.parentNode.parentNode.parentNode.setAttribute('style','display: none; height: 0;');
  41. var skipBtn = li[i].parentNode.parentNode.parentNode.parentNode.getElementsByClassName("post_delete_button fl_r")[0];
  42. var clickEvent = document.createEvent('MouseEvents');
  43. clickEvent.initEvent ('click', true, true);
  44. skipBtn.dispatchEvent (clickEvent);
  45. return;
  46. }
  47. if ( rev_flag ? (skipper.test(li[i].innerHTML) !== true) : (skipper.test(li[i].innerHTML) == true) )
  48. {
  49. li[i].parentNode.parentNode.parentNode.parentNode.setAttribute('style','display: none; height: 0;');
  50. var skipBtn = li[i].parentNode.parentNode.parentNode.parentNode.getElementsByClassName("post_delete_button fl_r")[0];
  51. var clickEvent = document.createEvent('MouseEvents');
  52. clickEvent.initEvent ('click', true, true);
  53. skipBtn.dispatchEvent (clickEvent);
  54. }
  55. }
  56. }
  57. }
  58. setInterval(vanillafeed, 1000);