Guest User

Untitled

a guest
Jul 31st, 2020
56
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         Muquiranas++
  3. // @version      0.1
  4. // @match        https://muquiranas.com/*/
  5. // @namespace    com.muquiranas
  6. // @author       BodeMenelau
  7. // @description  Permite ignorar comentarios de usuarios especificos no blog muquiranas.com
  8. // @license      MIT
  9. // @homepageURL  https://openuserjs.org/scripts/bodemenelau/Muquiranas++
  10. // @downloadURL  https://openuserjs.org/install/bodemenelau/Muquiranas++.user.js
  11. // @updateURL    https://openuserjs.org/meta/bodemenelau/Muquiranas++.meta.js
  12. // @grant        GM.setValue
  13. // @grant        GM.getValue
  14. // @grant        GM.deleteValue
  15. // ==/UserScript==
  16.  
  17. // ==OpenUserJS==
  18. // @author bodemenelau
  19. // ==/OpenUserJS==
  20.  
  21. (async function () {
  22.     'use strict';
  23.  
  24.     var version = "0.1";
  25.     var ignoredUsers = await GM.getValue("ignoredUsers",'{"ignored":[]}');
  26.     if (typeof ignoredUsers == "string") ignoredUsers = JSON.parse(ignoredUsers);
  27.     var ignorados = "lista vazia";
  28.     if (ignoredUsers.ignored.length > 0) ignorados = ignoredUsers.ignored.join(", ");
  29.     var muqPP = `
  30.     <li id="muquiranaspp">
  31.         <div style="visibility: visible !important; box-sizing: border-box; background-color: #fff; border: solid 1px #dfdfdf; color: #333; padding: 9px; overflow: auto; margin-bottom: 11px; transition: background-color 0.25s ease-in; border-radius: 3px;">
  32.             <cite>Muquiranas++ ${version}</cite>
  33.             <div class="comment-buttons">Usu├írios ignorados: ${ignorados} <a id="resetBtn">Resetar</a></div>
  34.         </div>
  35.     </li>
  36.     `;
  37.  
  38.     var cmtLst = document.getElementById('commentlist');
  39.     cmtLst.insertAdjacentHTML('afterbegin', muqPP);
  40.     var resetBtn = document.getElementById('resetBtn');
  41.     resetBtn.onclick = async () => {
  42.         await GM.deleteValue("ignoredUsers");
  43.         location.reload();
  44.     }
  45.     var initializedScript = false;
  46.     document.getElementById("respond").className = "trackback-toggle";
  47.  
  48.     function refreshIgnoredUsers( ignoredUsers, ignorados, initializedScript )
  49.     {
  50.         var cmtLst = document.getElementById('commentlist');
  51.         var comments = cmtLst.getElementsByClassName("comment-body");
  52.         Array.from(comments).forEach((comment) => {
  53.             try {
  54.                 var commentAuthor = comment.childNodes[3].childNodes[1].childNodes[1].textContent;
  55.                 if (ignoredUsers.ignored.includes(commentAuthor)) {
  56.                     comment.innerHTML = "";
  57.                     var ignoredDiv = document.createElement("div");
  58.                     ignoredDiv.className = "comment-buttons";
  59.                     ignoredDiv.innerHTML = `${commentAuthor} ignorado `;
  60.                     var desfazerBtn = document.createElement("a");
  61.                     desfazerBtn.innerHTML = "Desfazer";
  62.                     desfazerBtn.onclick = async () => {
  63.                         var index = ignoredUsers.ignored.indexOf(commentAuthor);
  64.                         if (index > -1) {
  65.                             ignoredUsers.ignored.splice(index, 1);
  66.                             await GM.setValue("ignoredUsers", ignoredUsers);
  67.                             location.reload();
  68.                         }
  69.                     };
  70.                     ignoredDiv.insertAdjacentElement("beforeend", desfazerBtn);
  71.                     comment.appendChild(ignoredDiv);
  72.                 }
  73.                 else if(!initializedScript) {
  74.                     var ignoreBtn = document.createElement("a");
  75.                     ignoreBtn.innerHTML = "Ignorar";
  76.                     ignoreBtn.onclick = async () => {
  77.                         ignoredUsers.ignored.push(commentAuthor);
  78.                         await GM.setValue("ignoredUsers", ignoredUsers);
  79.                         location.reload();
  80.                     };
  81.                     comment.childNodes[3].childNodes[5].appendChild(ignoreBtn);
  82.                 }
  83.             }
  84.             catch (exception){}
  85.         });
  86.         initializedScript = true;
  87.         setTimeout(function(){ refreshIgnoredUsers( ignoredUsers, ignorados, initializedScript ); }, 3000);
  88.     }
  89.     refreshIgnoredUsers( ignoredUsers, ignorados, initializedScript );
  90.  
  91. })();
RAW Paste Data