turn into misskey-always-show-replies

This commit is contained in:
shibao 2024-04-20 19:09:17 -04:00
parent c97a27444f
commit d755b19c15
3 changed files with 62 additions and 66 deletions

View File

@ -1,7 +1,6 @@
# Bypass Twitter Sensitive # Misskey Always Show Replies
This userscript bypasses Twitter's "Caution: This profile may include This userscript always clicks on Misskey's "Show replies" button whenever it is
potentially sensitive content" screen for profiles and "The following media visible.
includes potentially sensitive content" warnings for tweets. Use with caution!
## Installation ## Installation
First, install Violentmonkey for First, install Violentmonkey for
@ -9,7 +8,7 @@ First, install Violentmonkey for
[Chrome](https://chrome.google.com/webstore/detail/violentmonkey/jinjaccalgkegednnccohejagnlnfdag), [Chrome](https://chrome.google.com/webstore/detail/violentmonkey/jinjaccalgkegednnccohejagnlnfdag),
or any other userscript manager of your choice, and then [click here to install or any other userscript manager of your choice, and then [click here to install
the 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 ## License
This userscript is licensed under GPL v3.0 or later. This userscript is licensed under GPL v3.0 or later.

View File

@ -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"]
});
})();

View 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"],
});
})();