bilibili 评论审核检测,可在回复/评论提交后实时反馈该内容是否对他人可见
// ==UserScript==// @name bilibili 评论审核检测// @namespace https://github.com/sparanoid/userscript// @supportURL https://github.com/sparanoid/userscript/issues// @version 0.1.1// @description bilibili 评论审核检测,可在回复/评论提交后实时反馈该内容是否对他人可见// @author Sparanoid// @license AGPL// @compatible chrome 80 or later// @compatible edge 80 or later// @compatible firefox 74 or later// @compatible safari 13.1 or later// @match https://*.bilibili.com/*// @icon https://experiments.sparanoid.net/favicons/v2/www.bilibili.com.ico// @grant none// @run-at document-start// ==/UserScript==// Debugging pages:// - https://t.bilibili.com/594017148390748345// - https://www.bilibili.com/read/cv13871002// - https://space.bilibili.com/703007996/fans/follow// - https://www.bilibili.com/video/BV1Ar4y1C77P// - https://www.bilibili.com/video/BV1KL411g7om (colab)window.addEventListener('load', () => {const DEBUG = true;const NAMESPACE = 'bilibili-censor-detect';const apiBase = 'https://api.bilibili.com';const feedbackUrl = 'https://t.bilibili.com/545085157213602473';console.log(`${NAMESPACE} loaded`);async function fetchR###lt(url = '', data = {}) {const response = await fetch(url, {credentials: 'include',});return response.json();}function debug(description = '', msg = '', force = false) {if (DEBUG || force) {console.log(`${NAMESPACE}: ${description}`, msg)}}((open) => {XMLHttpRequest.prototype.open = function() {this.addEventListener("readystatechange", () => {const url = this?.responseURL && new URL(this.responseURL);// Check for reply API endpointsif (url?.pathname === '/x/v2/reply/add') {if (this.readyState === 4) {const resp = JSON.parse(this.response);const state = resp?.data?.reply?.state;debug(state);if (state !== 0) {alert(`回复已被ban,状态码:${state}`)}}}}, false);open.apply(this, arguments);};})(XMLHttpRequest.prototype.open);}, false);