// ==UserScript==
// @name bangumi 敏感词检测
// @namespace https://github.com/bangumi/scripts/tree/master/liaune
// @description 在发表新话题、日志、吐槽时进行敏感词检测
// @version 0.4.2
// @author Liaune
// @include /^https?://(bgm\.tv|chii\.in|bangumi\.tv)/*
// @grant none
// ==/UserScript==
(function() {
let Sensitive_words = ["手枪","步枪","医院","皮肤病","精神病","香烟","大麻","摇头丸","可卡因","海洛因","冰毒","春药","妓女","嫖娼","援交","找小姐","找小妹","上门服务","特殊服务","商铺","批发","发票","大发","贷款","作弊","代考","代开","办证","毕业证","学位证","窃听器","v信"];
let Sensitive_words_cht = ["手槍","步槍","醫院","皮膚病","精神病","香煙","大麻","搖頭丸","可卡因","海洛因","冰毒","春藥","妓女","嫖娼","援交","找小姐","找小妹","上門服務","特殊服務","商鋪","批發","發票","大發","貸款","作弊","代考","代開","辦證","畢業證","學位證","竊聽器"];
Sensitive_words = Sensitive_words.concat(Sensitive_words_cht);
function sensitive_check(obj){
obj.on('blur keyup input', function() {
Sensitive_words.forEach( (el) => {
let patt = new RegExp(el,"g");
let text = obj.val();
if(patt.exec(text)){
if (confirm("发现敏感词:"+el+",是否替换?")){
let r = prompt("敏感词:"+el+",替换为:");
obj.val(text.replace(el,r));
}
else Sensitive_words.splice(Sensitive_words.indexOf(el),1);
}
});
});
}
//发表新话题
if(location.href.match(/new_topic|topic\/\d+\/edit/)){
sensitive_check($("#title"));
sensitive_check($("#content"));
}
//发表新日志
if(location.href.match(/blog\/create|blog\/\d+\/edit/)){
sensitive_check($("#title"));
sensitive_check($("#tpc_content"));
}
//发表新的条目吐槽或讨论
if(location.href.match(/subject\/\d+/)){
sensitive_check($("#title"));
sensitive_check($("#content"));
sensitive_check($("#comment"));
}
})();