Greasy Fork is available in English.
被禁言用户使用博客发送犇犇的替代方案
// ==UserScript==
// @name 博客犇犇插件
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 被禁言用户使用博客发送犇犇的替代方案
// @license GPL-3.0
// @author LiuTianyou
// @match https://www.luogu.com.cn/
// @grant unsafeWindow
// @require https://cdn.bootcdn.net/ajax/libs/jquery/3.6.3/jquery.min.js
// @require https://cdn.bootcdn.net/ajax/libs/markdown-it/13.0.1/markdown-it.min.js
// ==/UserScript==
window.csrf = "";
$.get("https://www.luogu.com.cn/blogAdmin/article/new", function(data){
var doc = window.parser.parseFromString(data, "text/html");
window.csrf = doc.getElementsByName("csrf-token")[0].value;
console.log("Get! csrf-token = " + window.csrf);
});
window.parser = new DOMParser();
window.markdown = window.markdownit();
window.sendBlog = function(){
var msg = document.getElementById('feed-content').value;
$.ajax({
method: "POST",
url: "https://www.luogu.com.cn/blogAdmin/article/post_new",
data: {
"title": "【博客犇犇插件】一条博客犇犇",
"content": "[start]" + msg,
"identifier": Math.random().toString(36).slice(-8),
"type": "博客犇犇",
"top": 0,
"status": 2,
"csrf-token": window.csrf
},
});
var event = document.createEvent("MouseEvents");
event.initEvent("click", true, true);
document.getElementById('feed-content').value = "";
document.querySelector("li[data-mode='watching']").dispatchEvent(event);
}
setTimeout(function(){
var benben = document.querySelector('.lg-index-benben');
var submit = document.createElement('button');
submit.className = "am-btn am-btn-danger am-btn-sm";
submit.innerText = "发送博客犇犇!";
submit.addEventListener("click", window.sendBlog);
benben.children[2].appendChild(submit);
setInterval(function(){
var contents = document.getElementById("feed");
for(var i = 0; i < contents.children.length; i++){
if(contents.children[i].children[1] != undefined){
var bc = contents.children[i].children[1].children[1].innerHTML;
if(bc.search("【博客犇犇插件】一条博客犇犇") != -1){
bc = bc.replace(/[\s\S]*<blockquote>[\s\S]*<br><br>[\s\S]*\[start\]/, "");
bc = bc.replace(/[\s]*<\/blockquote>[\s\S]*/, "");
if(bc.search("【博客犇犇插件】一条博客犇犇") == -1){
contents.children[i].children[1].children[1].innerHTML = window.markdown.render(bc);
var reply = document.createElement('a');
reply.name = "feed-reply";
reply.setAttribute("onclick", "scrollToId('feed-content'); document.getElementById('feed-content').value = ' || @" + contents.children[i].children[1].children[0].children[0].children[0].innerText + ": " + bc + "';");
reply.innerText = "回复";
contents.children[i].children[1].children[0].children[0].appendChild(reply);
}
}
}
}
}, 200);
}, 1100);