// ==UserScript==
// @name Downvote Drumph
// @namespace http://tampermonkey.net/
// @version 2.1.0
// @description /r/The_Donald = garbage
// @author fuck_donald_trump
// @match *://*.reddit.com/*
// @grant none
// ==/UserScript==
(()=>{
'use strict';
var m=()=>{
var u = $("[name=uh]").val(), w = 0, downic="rLDnA2z", downsel="XOeCTgS", upic="jcdsjVm", upsel="DUOnJRZ",
done = JSON.parse(localStorage.getItem("downvoted_d")||"[]"),
down = JSON.parse(localStorage.getItem("down_d")||"[\"The_Donald\"]"),
up = JSON.parse(localStorage.getItem("up_d")||"[\"EnoughTrumpSpam\"]"),
current = (/\/r\/([^\/]*)\//.exec(window.location)||['',''])[1],
timeouts = [],
d = (l, r, e)=>{
if(l.length){
w=0;
console.log((e?"Up":"Down")+"voting "+(e?"":"& removing ")+l.length+" posts from /r/"+r+".");
l.each((i, v)=>{ k(v, e); });
}
},
k=(m, e)=>{
var name = $(m).attr("data-fullname"), b=true;
for(var i=0; i<done.length; i++) if(done[i].n === name){ b=false; break; }
if(b&&m){
w += Math.random() * 2000 + 1000;
timeouts.push(setTimeout((m, done, e)=>{
done.push({n: name, d: new Date().getTime()});
localStorage.setItem("downvoted_d", JSON.stringify(done));
$.post("/api/vote?dir="+(e?"1":"-1")+"&id="+name,{ uh: u });
if(e) $(m).find(".arrow").removeClass("up").addClass("upmod");
}, w, m, done, e));
}
if(!e) $(m).hide();
return b;
},
g=()=>{
for(var i=0; i<down.length; i++) d($("[data-subreddit="+down[i]+"]"), down[i]);
for(var j=0; j<up.length; j++) d($("[data-subreddit="+up[j]+"]"), up[j], true);
},
restart=()=>{
for(var i=0; i<timeouts.length; i++) clearTimeout(timeouts[i]);
timeouts = [];
g();
};
if(current !== "" && current !== "all"){
var upicon = $("<span>").addClass((up.indexOf(current)>-1?".up-yes":"up-no") + " dd-icon").css("margin-left", "16px").click((e)=>{
upicon.toggleClass("up-yes").toggleClass("up-no");
if(up.indexOf(current)>-1){
up.splice(up.indexOf(current), 1);
} else {
downicon.removeClass("down-yes").addClass("down-no");
if(down.indexOf(current)>-1) down.splice(down.indexOf(current), 1);
}
localStorage.setItem("up_d", JSON.stringify(up));
localStorage.setItem("down_d", JSON.stringify(down));
restart();
}),
downicon = $("<span>").addClass((down.indexOf(current)>-1?"down-yes":"down-no") + " dd-icon").css("margin-right", "-13px").click((e)=>{
downicon.toggleClass("down-yes").toggleClass("down-no");
if(down.indexOf(current)>-1){
down.splice(down.indexOf(current), 1);
} else {
upicon.removeClass("up-yes").addClass("up-no");
if(up.indexOf(current)>-1) up.splice(up.indexOf(current), 1);
}
localStorage.setItem("up_d", JSON.stringify(up));
localStorage.setItem("down_d", JSON.stringify(down));
restart();
});
$(".user")
.before(upicon)
.before(downicon);
}
document.body.addEventListener("DOMNodeInserted", (e)=>{
if(e.target.tagName==="DIV" && ($(e.target).attr("id")||"").indexOf("siteTable")>-1){
for(var i=0; i<down.length; i++) d($(e.target).find("[data-subreddit="+down[i]+"]"), down[i]);
for(var j=0; j<up.length; j++) d($(e.target).find("[data-subreddit="+up[j]+"]"), up[j], true);
}
}, true);
if(down.indexOf(current)>-1) setInterval(()=>{ window.location.reload(); }, 60000+Math.random() * 10000);
setInterval(()=>{
var d = new Date().getTime() - (60000*48);
for(var i=0; i<done.length; i++){
if(done[i].d < d)
done.splice(i, 1);
}
localStorage.setItem("downvoted_d", JSON.stringify(done));
}, 30000);
g();
};
var css = ".dd-icon {display:inline-block;height:16px; width:16px; cursor:pointer;} .down-no {background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AsdEyISRVglMAAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAB30lEQVQoz22TvWtUURTEf3PesiFKGq3UQkiZbCeKpAhIGguxSGWVzr9AA9lCrCQKVmJpZS8BFa0UG7UwnWuIgp2k8itRk7zdfWcs9q1mw144xb33zJwZ7lxlpiQxXJJ87O7GjV76nEFpQoKG2Nhenr1u+38z0ACwLUkeHiaeMczbKO0iLGdBkzEr6ukec2fAAiM8tgOIofIRpAfSEyJN2A4f6hmxcFD+wMI/UGQ9RHaMJTgMHviiCqkyGIwkR1CNG9aYvr+5uN93rQSH1PvVrU5q4DsFEjjg+Ol7m4uJizSkkSAaP8u8+LubVw39gAypCrmPZINcE1Rm+ute9TDtSFMYsgg9FsDEaudpZRYkopafAttWZYoQGVLaKHHY7ALPuu3WUrzb2lXZbl2y/SZNmabIdKRdpBnWYI8jzV6a5912a8m2NEyWJBe33r+SdDZEUQdBmY6QUsJA3/Cy125d3ikrTTUDHYymJE/c7rxIMy+oaoKiJkBivVxpzR3EjLzt+tauypXWwlQzHjULlROF9pqN2G8W6k429Lpcac29/fJH45IIwJkTkzz5tKPv12auFGKtl2700zJe216evfDx277OnzoyGprMVGaGbQ3r849SAEfvfHjQXO3cHH64cfUXJCsqR3fwzt8AAAAASUVORK5CYII=') center no-repeat;} .down-yes {background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AsdEyMZy5HN+QAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAACLUlEQVQoz3VSTUuUYRQ95z7v65hOgSQFgSO4jAja1KoSDBKJQPukhbToB7QIWvTpok2r1tEiCjKCvqSMaGWLapNgUVBIwRRENgnTqDPjvO89LXRsTL1wN4fznHueew/dnSRRL5KaLicXBOxsMjIT0SqJEBk/tsR2RtI/MoAIACSRpOpgNdXWyy9/7nn7o0ICYdumZl3t2dyEVSoiCUlaDgvfijV9+FWFIGUztoKxzAEAAliiREYCNEGUYAQUG7mmQKN9AIiNRsBcMAEmAHGgrfWFFebmU6UCUuOCKwKqpkpXGxbli/OHjAhGIHGo5qpVE20BICNdEgWoUvONnwqVgSgwxEYEAyVY1L4u9M4mOvXiy0xSc3nqSgUkhXIiARTA6XKqp5OlLhK3Amnrm0LY15X11pgjBIBa6k8O3sv3jOVnrZx4aoTHRhFgKgSSnjI4QgYtqIS+rta54f6OUZKDJolxsAOjxztf7e/KVtsyIUSkAQiuhVZxKujh5eZkaFd2e/VzZbi/4xnJQUkLm10MUs+Dw7nx3bnWJBjNBXPAVC6x9vxaJt7Q7jvO3ZmbuHKsjeRrX0zk0mkWRbofHcm92ZtrDV7fdRRD+XfoHDjN8bM9E6W5yhDJYj0Uy27rvuDk8dHc/e7OlqoLZWdUQeEreievvyd5AkAfyT9onNzY1cS5iN88OfJ95vzY1Ox0sXQXwG8At0lebHwHd6e7W6NI6qqL3JB06f+gFQqFJe5fCwo4yopE2VUAAAAASUVORK5CYII=') center no-repeat;} .up-no {background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AsdEyQk3LgXLwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAB2klEQVQoz22SvWtUURDFf+e+lwTZGLRIE6K2Ngr5QBQktU2wSxUbC8FaN4vJH2BSBUQCNhYWFmKnhaCFkEKIlYUQbBVFiaC4q8lm3xyLty/7oQMDl2HumTPnDLZlWxGhiJBtFT++CqB15+Kz5uqlmwBV33DKdgJMGQIsyc36zHs6nbM4EvnIw9HFWzdGFpaDoUh9b8XeR0tyqz7zgqI4A3SAgoil9vPNe5LsX3v/ABjAP785mzztVn12y+E5lERKgVKBlGMvNlfmG2li0vHlQ2+qbQFIcnNlboOIZWACyTgSdtYFCaRPpGxrfH3nfuw3pbEaClvtx2t58e7lpovDJaRj3WZjJxw9ACzMZ2X5o9r6zl3bytYuT40evnn6gM7BNcQYwkggAU4YIZU1A/YJiuL86sL0VDp56lXWmN6rc/D7NpSrlEYARj0GR0qlbu04RWe+2N0mZ791Bfs11TfcAWbBNWzhyAhA6Tt4twRwwhbtP1cVttTvpeRW48K2XZzr08Ck7Mn4xtvrleg9G+3h28DlsipFc5f/wJyjyAc+VmCORDjDIeyMsFGh/j5J2B4EUDWkol5pAMYpDfdJGgToo6JulmLhsjbEVBK5SrhBIUrf48jW8i78P7Z/AZi8IeOXgjxmAAAAAElFTkSuQmCC') center no-repeat;} .up-yes {background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AsdEyQQ/QzjmgAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAACfklEQVQoz21TTWiUVxQ9531vZhJiQCjBRRDRRbVIqVVEt+7cmLgxSjddqmTXinXRLhRTUUFdqJhFForuJCj+kAYKEamiJg3xh1BSUEJFTaaJGZKZ+eZ77x4XmYlRvPDg3cu55x7eeReSKIlmRjNjIwcAqy7cUpYeBIBG/fMDSW5ZwTWaVZ1/UT6zN9YGe6WQ9cU3E8mXCDw+BhVqcrmCZHGgcu6HNfb6n1B7M5HY7OuuQtfRKsluxUC4ZKnJAxAAwOJis3QxvfzzFpt6ScgMISA+H/KpO75L0iTJkwoZkfglgsXxiZekk2l/T2f893ETYohwThChSinG8Xsra3daf5S0QPK8zAgSXgAw/cpbWjmb9v/eFUcHm5WWDaQAB8AIOtP8rIXRgXaQ3RZDK507IYne/h7IufXbLtVunt4XR+9SWTWCjou6RAgA629UmkIYub0ait2Wlr9CpXSYKhWPyOdPZH9cCDAzSBGAhbFBqTznIEvcqnXRrdtiAIm5d86mXvnmQ9cjYtbj0dy6kz4/lN99BACEUAuKYXOYeNSChVnCYuLav0Gh46ci8k3PbPyvQnrjVIJcgfD5Ti+f38HlXuYKslLxPshvkXgHMpmZmUHfsWNPfus51ep9bv/w0+cvvwMAEh4SwOUUaOSEwGBgb/9g4dqLmbUgz4aQPfh+44ZfzOzKJzbWv+viJck5SAlknCxlPP+05Ir/z42RvEpyK8npBt59OriuxOcdoARmydcrfWKVeYwNP1oBoEnSWkkdDbzDl8I51s1zZub+/HVftmnr9j0AKgCipANLaj9bpvoWzj+M05PlWPyvau/f1vT+bTry5PFNAGhra2tZjv8AeQanwCFA6jUAAAAASUVORK5CYII=') center no-repeat;} ";
$("body")
.append($("<style>").html(css))
.append($("<script>").attr("type", "text/javascript").html("("+m.toString()+")();"));
})();