turn into misskey-always-show-replies
This commit is contained in:
		@@ -1,7 +1,6 @@
 | 
			
		||||
# Bypass Twitter Sensitive
 | 
			
		||||
This userscript bypasses Twitter's "Caution: This profile may include
 | 
			
		||||
potentially sensitive content" screen for profiles and "The following media
 | 
			
		||||
includes potentially sensitive content" warnings for tweets. Use with caution!
 | 
			
		||||
# Misskey Always Show Replies
 | 
			
		||||
This userscript always clicks on Misskey's "Show replies" button whenever it is
 | 
			
		||||
visible.
 | 
			
		||||
 | 
			
		||||
## Installation
 | 
			
		||||
First, install Violentmonkey for
 | 
			
		||||
@@ -9,7 +8,7 @@ First, install Violentmonkey for
 | 
			
		||||
[Chrome](https://chrome.google.com/webstore/detail/violentmonkey/jinjaccalgkegednnccohejagnlnfdag),
 | 
			
		||||
or any other userscript manager of your choice, and then [click here to install
 | 
			
		||||
the
 | 
			
		||||
userscript](https://gitea.bubbletea.dev/shibao/bypass-twitter-sensitive/raw/branch/stable/bypass-twitter-sensitive.user.js).
 | 
			
		||||
userscript](https://gitea.bubbletea.dev/shibao/misskey-always-show-replies/raw/branch/stable/misskey-always-show-replies.user.js).
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
This userscript is licensed under GPL v3.0 or later.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,61 +0,0 @@
 | 
			
		||||
// ==UserScript==
 | 
			
		||||
// @name         Bypass Twitter Sensitive
 | 
			
		||||
// @namespace    https://bubbletea.dev/
 | 
			
		||||
// @version      2.2
 | 
			
		||||
// @description  Bypasses Twitter's "Caution: This profile may include potentially sensitive content" page and "The following media includes potentially sensitive content" warnings.
 | 
			
		||||
// @author       shibao
 | 
			
		||||
// @include      /^https://twitter.com.*$/
 | 
			
		||||
// @include      /^https://mobile.twitter.com.*$/
 | 
			
		||||
// @downloadURL	 https://gitea.bubbletea.dev/shibao/bypass-twitter-sensitive/raw/branch/stable/bypass-twitter-sensitive.user.js
 | 
			
		||||
// @updateURL    https://gitea.bubbletea.dev/shibao/bypass-twitter-sensitive/raw/branch/stable/bypass-twitter-sensitive.user.js
 | 
			
		||||
// @grant        none
 | 
			
		||||
// ==/UserScript==
 | 
			
		||||
 | 
			
		||||
// from https://developer.mozilla.org/en-US/docs/Web/API/Node#recurse_through_child_nodes
 | 
			
		||||
function eachNode(rootNode, callback) {
 | 
			
		||||
  if (!callback) {
 | 
			
		||||
    const nodes = []
 | 
			
		||||
    eachNode(rootNode, function (node) {
 | 
			
		||||
      nodes.push(node)
 | 
			
		||||
    })
 | 
			
		||||
    return nodes
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (false === callback(rootNode)) {
 | 
			
		||||
    return false
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (rootNode.hasChildNodes()) {
 | 
			
		||||
    const nodes = rootNode.childNodes
 | 
			
		||||
    for (let i = 0, l = nodes.length; i < l; ++i) {
 | 
			
		||||
      if (false === eachNode(nodes[i], callback)) {
 | 
			
		||||
        return
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
(function () {
 | 
			
		||||
  'use strict';
 | 
			
		||||
 | 
			
		||||
  const observer = new MutationObserver(function (mutationList) {
 | 
			
		||||
    for (const mutation of mutationList) {
 | 
			
		||||
      for (const addedNode of mutation.addedNodes) {
 | 
			
		||||
        // recurses through all child nodes as well
 | 
			
		||||
        eachNode(addedNode, function (node) {
 | 
			
		||||
          if (node.nodeName == 'SPAN' && (node.innerHTML == 'Yes, view profile' || node.innerHTML == 'View')) {
 | 
			
		||||
            const viewProfileBtn = node.closest("div[role='button']");
 | 
			
		||||
            if (viewProfileBtn) { viewProfileBtn.click(); }
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    };
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  observer.observe(document, {
 | 
			
		||||
    childList: true,
 | 
			
		||||
    subtree: true,
 | 
			
		||||
    attributes: true,
 | 
			
		||||
    attributeFilter: ["role"]
 | 
			
		||||
  });
 | 
			
		||||
})();
 | 
			
		||||
							
								
								
									
										58
									
								
								misskey-always-show-replies.user.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								misskey-always-show-replies.user.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
			
		||||
// ==UserScript==
 | 
			
		||||
// @name         Misskey Always Show Replies
 | 
			
		||||
// @namespace    https://bubbletea.dev/
 | 
			
		||||
// @version      1.0
 | 
			
		||||
// @description  Automatically clicks the "Show replies" button on Misskey and misskey instances
 | 
			
		||||
// @author       shibao
 | 
			
		||||
// @include      /^https://.*misskey.*$/
 | 
			
		||||
// @downloadURL	 https://gitea.bubbletea.dev/shibao/misskey-always-show-replies/raw/branch/stable/misskey-always-show-replies.user.js
 | 
			
		||||
// @updateURL    https://gitea.bubbletea.dev/shibao/misskey-always-show-replies/raw/branch/stable/misskey-always-show-replies.user.js
 | 
			
		||||
// @grant        none
 | 
			
		||||
// ==/UserScript==
 | 
			
		||||
 | 
			
		||||
// from https://developer.mozilla.org/en-US/docs/Web/API/Node#recurse_through_child_nodes
 | 
			
		||||
function eachNode(rootNode, callback) {
 | 
			
		||||
  if (!callback) {
 | 
			
		||||
    const nodes = [];
 | 
			
		||||
    eachNode(rootNode, function (node) {
 | 
			
		||||
      nodes.push(node);
 | 
			
		||||
    });
 | 
			
		||||
    return nodes;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (false === callback(rootNode)) {
 | 
			
		||||
    return false;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (rootNode.hasChildNodes()) {
 | 
			
		||||
    const nodes = rootNode.childNodes;
 | 
			
		||||
    for (let i = 0, l = nodes.length; i < l; ++i) {
 | 
			
		||||
      if (false === eachNode(nodes[i], callback)) {
 | 
			
		||||
        return;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
(function () {
 | 
			
		||||
  "use strict";
 | 
			
		||||
 | 
			
		||||
  const observer = new MutationObserver(function (mutationList) {
 | 
			
		||||
    for (const mutation of mutationList) {
 | 
			
		||||
      for (const addedNode of mutation.addedNodes) {
 | 
			
		||||
        eachNode(addedNode, function (node) {
 | 
			
		||||
          node.nodeName == "DIV" &&
 | 
			
		||||
            node.innerHTML == "Show replies" &&
 | 
			
		||||
            node.closest("button._button")?.click();
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  observer.observe(document, {
 | 
			
		||||
    childList: true,
 | 
			
		||||
    subtree: true,
 | 
			
		||||
    attributes: true,
 | 
			
		||||
    attributeFilter: ["role"],
 | 
			
		||||
  });
 | 
			
		||||
})();
 | 
			
		||||
		Reference in New Issue
	
	Block a user