// ==UserScript==
// @name Discourse++
// @namespace http://tampermonkey.net/
// @iconURL https://i.imgur.com/JM3zjkN.png
// @version 9.2
// @description Upgrade your Discourse cheer gaining with Discourse++ REMASTERED!
// @author nfeat & jfryy
// @match */*
// @grant none
// @license MIT License
// ==/UserScript==
// SHOUTOUT: https://xem.github.io/terser-online/
// Online JS Minifier!
onload=function(){let e=3,t=0,n=0;const s=(()=>{let s,o=!1;function i(){o&&(window.scrollBy(0,Number(e)),0==t&&(t=1,n.click()),s=requestAnimationFrame(i))}return function(){o?(o=!1,cancelAnimationFrame(s)):(o=!0,i())}})();function o(){const e=(new Date).toISOString().split("T")[0];localStorage.getItem("limitDate")!==e&&(localStorage.setItem("maxLimit",5),localStorage.setItem("limitDate",e))}o(),parseInt(localStorage.getItem("maxLimit"),10);let i=localStorage.getItem("textPrompt"),a=localStorage.getItem("numPrompt"),r=JSON.parse(localStorage.getItem("checkPrompt"));e=localStorage.getItem("num2Prompt"),i||(i="Download [Discourse++](https://update.greasyfork.org/scripts/524171/Discourse%2B%2B.user.js) to help with all your spamming needs!"),a||(a="0"),r||(r=!0),e||(e="10");var c=setInterval((function(){document.querySelector(".discourse-root")&&(console.log("dp"),clearInterval(c),function(){const o=document.body.style.fontFamily,c=getComputedStyle(document.querySelector(":root")).getPropertyValue("--d-sidebar-background");let l=document.querySelector("img.avatar").src.split("/")[6],d=document.querySelector("img.avatar").src,p=document.createElement("script");p.textContent="\n document.addEventListener('click', function(event) {\n if (event.target.classList.contains('toast')) {\n var clicked = event.target;\n var opacity = 1;\n var fade = setInterval(function() {\n clicked.style.opacity = '' + opacity;\n opacity -= 0.1;\n if (opacity <= 0) {\n clicked.remove();\n clearInterval(fade);\n }\n }, 15);\n }\n });\n ",document.documentElement.appendChild(p);let u=`\n<style>\n@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');\n.toast {\n position:fixed;\n bottom:20px;\n right:20px;\n padding:20px 30px;\n background-color:${c};\n text-align:left;\n z-index:99999;\n border:1px solid black;\n font-family:${o}, Arial, sans-serif;\n transition: transform 0.2s, background-color 0.2s;\n border-radius:10px;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n}\n.toast:hover {\n transform: scale(1.1);\n background-color:${c};\n}\nb{\n height:1px;\n width:1px;\n overflow-y:visible;\n}\n</style>\n<div class="toast"><a class="mention" style="font-size:2em;">@${l} - <img src="${d}" class="avatar"></a><br>Welcome to using Discourse++,<br>the best tool for spamming in Discourse.</div>\n`,m=document.createElement("div");m.innerHTML=u,document.body.appendChild(m);var b=document.createElement("div");function g(e){return document.querySelectorAll("button.dpp-button")[e]}b.innerHTML='\n <div data-section-name="discoursepp" class="sidebar-section sidebar-section-wrapper sidebar-section--expanded">\n <div class="sidebar-section-header-wrapper sidebar-row"><button class="btn no-text sidebar-section-header sidebar-section-header-collapsable btn-transparent dpp-section" aria-controls="sidebar-section-content-chat-dms" aria-expanded="true" title="Toggle section" type="button"><span class="sidebar-section-header-caret"><img src="https://cdn4.iconfinder.com/data/icons/logos-and-brands/512/92_Discourse_logo_logos-512.png" style="width:20px;height:20px"></span><span class="sidebar-section-header-text">Discourse++</span></button></div>\n <ul id="sidebar-section-content-discoursepp" class="sidebar-section-content">\n <li class="sidebar-section-link-wrapper"><button class="sidebar-section-link sidebar-row dpp-button" title="Create a new reply" type="button"><span class="sidebar-section-link-prefix image"><svg class="fa d-icon d-icon-reply svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use href="#reply"></use></svg></span><span class="sidebar-section-link-content-text">New Reply</span></button></li>\n <li class="sidebar-section-link-wrapper"><button class="sidebar-section-link sidebar-row dpp-button" title="Create a new topic" type="button"><span class="sidebar-section-link-prefix image"><svg class="fa d-icon d-icon-plus svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use href="#plus"></use></svg></span><span class="sidebar-section-link-content-text">New Topic</span></button></li>\n <li class="sidebar-section-link-wrapper"><button class="sidebar-section-link sidebar-row dpp-button" title="Find a topic" type="button"><span class="sidebar-section-link-prefix image"><svg class="fa d-icon d-icon-magnifying-glass svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use href="#magnifying-glass"></use></svg></span><span class="sidebar-section-link-content-text">Find Topic</span></button></li>\n <li class="sidebar-section-link-wrapper"><button class="sidebar-section-link sidebar-row dpp-button" title="Like" type="button"><span class="sidebar-section-link-prefix image"><svg class="fa d-icon d-icon-robot svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use href="#heart"></use></svg></span><span class="sidebar-section-link-content-text">Like Spam</span></button></li>\n <li class="sidebar-section-link-wrapper"><button class="sidebar-section-link sidebar-row dpp-button" title="Autoscroll" type="button"><span class="sidebar-section-link-prefix image"><svg class="fa d-icon d-icon-mouse svg-icon svg-string" xmlns="htttp://www.w3.org/2000/svg"><i class="fa-solid fa-computer-mouse"></i></svg></span><span class="sidebar-section-link-content-text a17">Autoscroll</span></button></li>\n <li class="sidebar-section-link-wrapper"><button class="sidebar-section-link sidebar-row dpp-button" title="Automatic" type="button"><span class="sidebar-section-link-prefix image"><svg class="fa d-icon d-icon-robot svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use href="#robot"></use></svg></span><span class="sidebar-section-link-content-text">Automatic</span></button></li>\n <li class="sidebar-section-link-wrapper"><button class="sidebar-section-link sidebar-row dpp-button" title="Home" type="button"><span class="sidebar-section-link-prefix image"><svg class="fa d-icon d-icon-house svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use href="#house"></use></svg></span><span class="sidebar-section-link-content-text">Home</span></button></li>\n <li class="sidebar-section-link-wrapper"><button class="sidebar-section-link sidebar-row dpp-button" title="Settings" type="button"><span class="sidebar-section-link-prefix image"><svg class="fa d-icon d-icon-gear svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use href="#gear"></use></svg></span><span class="sidebar-section-link-content-text">Settings</span></button></li>\n </ul>\n</div>\n<style>\n .dpp-button{background-color:var(--secondary);border:none}\n .sidebar-section-header-wrapper.sidebar-row{transition:background-color 0.4s;}\n .sidebar-section-header-wrapper.sidebar-row:hover{background-color:#383838;}\n</style>',document.querySelector("div.sidebar-sections").appendChild(b),document.querySelector("div.sidebar-wrapper").style.position="fixed",document.querySelector("div.sidebar-wrapper").style.display="block",document.querySelector("div.sidebar-wrapper").style.width="17em",document.querySelector(".dpp-section").onclick=function(){console.log(document.querySelector("#sidebar-section-content-discoursepp").style.display),"none"===document.querySelector("#sidebar-section-content-discoursepp").style.display?document.querySelector("#sidebar-section-content-discoursepp").style.display="block":document.querySelector("#sidebar-section-content-discoursepp").style.display="none",document.querySelector(".timeline-scroller").click()};var v=g(0),y=g(1),f=g(2),h=g(6),w=g(5),k=g(7);n=g(3);var x=g(4);function S(e){document.querySelector("div.toast")&&document.querySelector("div.toast").remove();let t=document.createElement("div");t.innerHTML=`<div class="toast">${e}</div>`,document.body.appendChild(t)}function E(){Math.floor(1e10*Math.random());return i+`<a${Array.from({length:20},()=>"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()))).join("")}>`+"<br>".repeat(Number(a))+"@bot".repeat(Number(r))}function q(){var e=!0;var t=document.querySelector(".btn.btn-icon-text.btn-primary.create[title='begin composing a reply to this topic']");t&&(t.scrollIntoView(),t.click()),setTimeout((function(){var t=document.querySelector("textarea[aria-label='Type here. Use Markdown, BBCode, or HTML to format. Drag or paste images.']"),n="";if(t){n=e?E():"DOWNLOAD DISCOURSE+",n+="<br><br><a class='mention'>a Discourse++ post</a>",t.value=n,t.dispatchEvent(new Event("input",{bubbles:!0}));var s=document.querySelector(".btn.btn-icon-text.btn-primary.create[title='Or press Ctrl+Enter']");s&&setTimeout((function(){s.click()}),3e3)}}),1e3),S("Reply completed!")}h.onclick=function(){window.location.href="https://x-camp.discourse.group"},"true"===sessionStorage.getItem("ninespam")&&(sessionStorage.removeItem("ninespam"),q()),v.addEventListener("click",(function(){let e=location.pathname.split("/");e.length>=5&&e[4]!==document.querySelector(".timeline-replies").innerText.split("/")[1].replace(" ","")&&!sessionStorage.getItem("ninespam")?(sessionStorage.setItem("ninespam","true"),e[4]="99999",location.href=e.join("/")):q()})),y.addEventListener("click",(function(){var e=document.querySelector(".btn.btn-icon-text.btn-default#create-topic");e&&e.click(),setTimeout((function(){var e=document.querySelector("input[aria-label='Type title, or paste a link here']");if(e){var t="Random Title "+Math.random().toString(36).substring(7);e.value=t,e.dispatchEvent(new Event("input",{bubbles:!0}))}var n=document.querySelector("textarea[aria-label='Type here. Use Markdown, BBCode, or HTML to format. Drag or paste images.']");if(n){var s=E();s+="<br><br><a class='mention'>a Discourse++ post</a>",n.value=s,n.dispatchEvent(new Event("input",{bubbles:!0}));var o=document.getElementsByClassName("select-kit-header-wrapper")[4];o&&(o.click(),setTimeout((function(){var e=document.querySelector(".category-row.select-kit-row[data-index='1']");if(e){e.click();var t=document.querySelector(".btn.btn-icon-text.btn-primary.create[title='Or press Ctrl+Enter']");t&&setTimeout((function(){t.click()}),1e3)}}),1e3))}}),1e3),S("Topic created!")})),f.addEventListener("click",(function(){var e=document.querySelectorAll("img.avatar.latest"),t=document.querySelectorAll("td.main-link.clearfix.topic-list-data"),n=0;Array.from(e).forEach(e=>{e.title.includes(l)||t[n].click(),n+=1}),S("Found post!")})),w.addEventListener("click",(function(){S("Automatic started."),window.location.href.startsWith("https://x-camp.discourse.group/t")?(q(),setInterval((function(){q(),q()}))):window.location.href.startsWith("https://x-camp.discourse.group")?f.click():S("Not proper url!")})),n.addEventListener("click",(function(){var e=document.querySelectorAll("div.discourse-reactions-reaction-button");let n=0,s=setInterval(()=>{e[n]&&e[n].title||(t=0,S("Like spamming completed!"),clearInterval(s)),n<e.length&&null==document.querySelector(".dialog-body")?("Like this post"==e[n].title&&e[n].click(),n++):(document.querySelector(".dialog-body p").innerText="You've reached your likes daily limit. Come back tommorow!",S("Like spamming completed!"),clearInterval(s))},500);S("Like spamming..")})),x.addEventListener("click",(function(){console.log(x.innerText);var e=document.querySelector(".a17");s(),"Autoscroll"==e.innerText?(S("Scrolling..."),e.innerText="Stop Autoscroll"):(S("Done Scrolling."),e.innerText="Autoscroll")})),k.addEventListener("click",(function(){var t=document.getElementsByClassName("discourse-root")[0],n=document.createElement("div");n.innerHTML=`\n <style>\n .dpp-dialog-body {padding-left:30px;}\n .dpp-textarea-settings{width:80%;}\n</style>\n<div id="dialog-holder" class="dialog-container" aria-modal="true" tabindex="-1" role="dialog" aria-labelledby="dialog-title">\n <div class="dialog-overlay" data-a11y-dialog-hide=""></div>\n <div class="dialog-content" role="document">\n <h1 style="padding:10px">Discourse++ Settings</h1>\n <div class="dialog-body dpp-dialog-body">\n <b>Set the text to spam with Discourse++</b><br><textarea class="dpp-textarea-settings">${i}</textarea><br>\n <b>How many newlines at end?</b><br>\n <input type="number" class="dpp-number-settings"><br>\n <b>Ping @bot?</b><br>\n <input type="checkbox" class="dpp-checkbox-settings"> Ping @bot?<br><br>\n <b>How many pixels per recall on Autoscroll?</b><br>\n <input type="number" class="dpp-number2-settings"><br>\n </div>\n <div class="dialog-footer"><button class="btn btn-text btn-primary dpp-dialog-button" type="button"><span class="d-button-label">OK</span></button></div>\n </div>\n</div>\n`,n.style.padding="0",n.style.margin="0",t.appendChild(n),document.getElementsByClassName("dpp-checkbox-settings")[0].checked=r,document.getElementsByClassName("dpp-number-settings")[0].value=""+a,document.getElementsByClassName("dpp-number2-settings")[0].value=""+e,document.getElementsByClassName("dpp-dialog-button")[0].onclick=function(){localStorage.setItem("textPrompt",document.getElementsByClassName("dpp-textarea-settings")[0].value),localStorage.setItem("numPrompt",document.getElementsByClassName("dpp-number-settings")[0].value),localStorage.setItem("checkPrompt",JSON.stringify(document.getElementsByClassName("dpp-checkbox-settings")[0].checked)),i=document.getElementsByClassName("dpp-textarea-settings")[0].value,a=document.getElementsByClassName("dpp-number-settings")[0].value,r=document.getElementsByClassName("dpp-checkbox-settings")[0].checked,e=document.getElementsByClassName("dpp-number2-settings")[0].value;var t=1;const s=setInterval(()=>{t<=0?(clearInterval(s),n.remove()):(n.style.opacity=t,t-=.05)},10)}}))}())}),100)}