国开自动回帖

国家开放大学自动回帖脚本

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

You will need to install an extension such as Tampermonkey to install this script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Advertisement:

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

Advertisement:

// ==UserScript==
// @name         国开自动回帖
// @namespace    https://greasyfork.org/zh-CN/users/707063-genexy
// @version      202011222124
// @description  国家开放大学自动回帖脚本
// @author       流浪的蛊惑
// @match        *://*.ouchn.cn/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    var i=0;
    var href = location.href;
    if(href.indexOf("/forum/")!=-1){
        var ht=document.getElementsByClassName("header replies");
        if(ht.length>0){ //初始化回帖
            ht[0].innerHTML="<input id=\"htlr\" type=\"text\" value=\"谢谢同学参加教学活动,请就你对问题的理解,谈谈你的看法。\"><br /><input type=\"button\" value=\"点击批量回贴\" onclick=\"localStorage.clear();localStorage.setItem('开始回帖','csh');localStorage.setItem('回帖内容',document.getElementById('htlr').value);location.reload();\"/>";
        }
        if(localStorage.getItem("开始回帖")=="csh"){ //获取0回复帖子
            localStorage.setItem("开始回帖","ok"); //暂存帖子ID号
            var tbl=document.getElementsByClassName("forumheaderlist"); //帖子区域
            var tr=tbl[0].getElementsByTagName("tr");
            for(i=1;i<tr.length;i++){
                var a=tr[i].getElementsByTagName("td")[2].getElementsByTagName("a"); //未分组不回帖
                var b=tr[i].getElementsByTagName("td")[3].getElementsByTagName("a"); //回帖数
                if(a.length>0 && b.length>0){
                    if(b[0].innerText.trim()=="0"){ //查找须要回帖的链接
                        localStorage.setItem(b[0].getAttribute("href").substring(b[0].getAttribute("href").indexOf("d=") + 2),b[0].getAttribute("href"));
                    }
                }
            }
            location.reload();
        }else{
            var isover=true; //是否全部回完
            for(i=0;i<localStorage.length;i++){
                var kn=localStorage.key(i);
                var kv=localStorage.getItem(kn);
                if(kv.indexOf("discuss.php?d=")!=-1){
                    isover=false;
                    var cz=localStorage.getItem("回帖");
                    if(cz==null){
                        localStorage.setItem("开始回帖",kn);
                        localStorage.setItem("回帖","进入回复");
                        setInterval(function(){location.href=kv;},1500);
                    }else{
                        if(cz=="进入回复"){
                            var hf=document.getElementsByClassName("commands");
                            if(hf.length>0){
                                localStorage.setItem("回帖","开始回复");
                                setInterval(function(){hf[0].getElementsByTagName("a")[3].click();},1500);
                            }
                        }
                        if(cz=="开始回复"){
                            document.getElementById("id_submitbutton").setAttribute("onclick","tinyMCE.activeEditor.setContent(\""+localStorage.getItem("回帖内容")+"\")");
                            localStorage.removeItem("回帖");
                            localStorage.removeItem(localStorage.getItem("开始回帖"));
                            setInterval(function(){document.getElementById("id_submitbutton").click();},1500);
                        }
                    }
                    break;
                }
            }
            if(isover){ //结束当前回帖
                localStorage.clear();
            }
        }
    }
})();