Greasy Fork is available in English.
31/03/2023, 5:40:10 am
// ==UserScript==
// @name Masiro Block User
// @namespace Violentmonkey Scripts
// @license GPL
// @match *://masiro.me/*
// @require https://openuserjs.org/src/libs/sizzle/GM_config.js
// @grant GM_getValue
// @grant GM_setValue
// @grant GM.getValue
// @grant GM.setValue
// @version 1.0
// @author Hou Rui
// @description 31/03/2023, 5:40:10 am
// ==/UserScript==
let config = new GM_config({
'id': 'MisiroBlockUserConfig',
'title': 'Masiro Block User',
'fields': {
'blockedUsers': {
'label': '每行输入一个用户名',
'section': ['屏蔽用户列表'],
'type': 'textarea',
}
},
'events': {
'init': loadConfig,
'save': loadConfig,
},
'css': '#MisiroBlockUserConfig textarea { width: 100%; height: 70%; }'
})
function loadConfig() {
let blockNames = config.get('blockedUsers').split('\n').map(line => line.trim())
console.log(`Blocked users: ${blockNames}`)
let contentBlocks = document.querySelectorAll('span.reply_content, div.comment-content')
for (let block of contentBlocks) {
let attrs = block.attributes['data-name']
if (attrs === undefined) {
return;
}
let userName = attrs.value
if (blockNames.includes(userName)) {
block.innerHTML = '[已屏蔽]'
let sibling = block.parentElement.nextElementSibling
if (sibling === null) {
return;
}
if (sibling.className === 'reply_list') {
sibling.innerHTML = ''
}
}
}
}
let commentButton = document.getElementById('comment-btn')
let configButton = document.createElement('button')
configButton.classList.add('btn', 'btn-primary')
configButton.textContent = '屏蔽设置'
configButton.style.float = 'right'
configButton.style.padding = commentButton.style.padding;
configButton.style.marginRight = commentButton.style.marginRight;
configButton.style.fontSize = commentButton.style.fontSize;
configButton.onclick = () => config.open()
commentButton.parentNode.appendChild(configButton)