Guest User

Untitled

a guest
Aug 11th, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.15 KB | None | 0 0
  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].getElementsByClassName("fn")[0].textContent;
  55. if (ignoredUsers.ignored.includes(commentAuthor)) {
  56. comment.innerHTML = "";
  57. var ignoredDiv = document.createElement("div");
  58. ignoredDiv.className = "comment-buttons";
  59. ignoredDiv.innerHTML = `Ignorado`;
  60. /*
  61. var desfazerBtn = document.createElement("a");
  62. desfazerBtn.innerHTML = "Desfazer";
  63. desfazerBtn.onclick = async () => {
  64. var index = ignoredUsers.ignored.indexOf(commentAuthor);
  65. if (index > -1) {
  66. ignoredUsers.ignored.splice(index, 1);
  67. await GM.setValue("ignoredUsers", ignoredUsers);
  68. location.reload();
  69. }
  70. };
  71. ignoredDiv.insertAdjacentElement("beforeend", desfazerBtn);
  72. */
  73. comment.appendChild(ignoredDiv);
  74. }
  75. else if(!initializedScript) {
  76. var ignoreBtn = document.createElement("a");
  77. ignoreBtn.innerHTML = "Ignorar";
  78. ignoreBtn.onclick = async () => {
  79. ignoredUsers.ignored.push(commentAuthor);
  80. await GM.setValue("ignoredUsers", ignoredUsers);
  81. location.reload();
  82. };
  83. comment.childNodes[3].childNodes[5].appendChild(ignoreBtn);
  84. }
  85. }
  86. catch (exception){}
  87. });
  88. initializedScript = true;
  89. setTimeout(function(){ refreshIgnoredUsers( ignoredUsers, ignorados, initializedScript ); }, 3000);
  90. }
  91. refreshIgnoredUsers( ignoredUsers, ignorados, initializedScript );
  92.  
  93. })();
Add Comment
Please, Sign In to add comment