// ==UserScript== // @name 超星学习通-讨论自动复读 // @version 0.20 // @description 填写代码开头的setting信息,进入到讨论区,点击页面上的“开始复读”按钮,自动将大佬的20道最新讨论题答案抄过来提交。如果大佬还没回答就抄第一个回答的人,如果还没人回答就下一题 // @match *://*.chaoxing.com/bbscircle/grouptopic?* // @match *://*.chaoxing.com/bbscircle/gettopicdetail?* // @author duya12345 // @require http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js // @grant GM_setValue // @grant GM_getValue // @namespace https://greasyfork.org/users/517463 // @downloadURL none // ==/UserScript== //!!!!!!!!!!!!!!!必填!!!!!!!!!!!!!!!!!! var setting = { your_name : ""//你的名字 ,dalao_name : ""//大佬的名字,此项可以留空,即所有答案都超第一个回答的 } var $ = unsafeWindow.jQuery; var done_times = GM_getValue("done_times"); function if_done(search_str){//判断下有没有回答过 var reg = new RegExp(setting.your_name); var flag = reg.test(search_str); return flag; } function GetBigGodsAnswer() { //抓一个大佬的答案 var req = GetRequest(); var contentid = "topic_replys_"+req.topicid; var search_str = document.getElementById(contentid).innerHTML; var re1 = new RegExp(setting.dalao_name + "([\\s\\S]+?)", 'm');//锁定大佬 var re2 = /(?<=)([\s\S]+?)(?=<\/h3>)/m;//未锁定大佬时:任意回答;锁定大佬时:大佬的回答 var match1 = search_str.match(re2); var match2 = search_str.match(re1); if(match1 == null){//还没人回答 return "uwfigawuyhaofi3r983yhr89f[3h892ryrjq89rff"; } if(if_done(search_str) == true){//找到自己名字了 return "fuhqwaifuhuwaqfbgcuaosjfcdopwtfgn23333333";//瞎打一串不可能出现的content,交给下级判断去 } if(match2 == null){//大佬还没回答 alert("找到大佬没有回答的题了"); return match1[0];//那就返回第一个回答的 } var match3 = match2[0].match(re2)[0]; var replace_out1 = match3.replace(/
/g, "\n"); var replace_out2 = replace_out1.replace(/ /g, " "); return replace_out2; } function GetRequest() {//获取url参数 var url = location.search; var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); var strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); } } return theRequest; } function getAllNoticeAttachment(){//拿上传文件的,用不到,但改了怕出问题先放着 var attachment = ""; var attachmentsByName = document.getElementsByName("attachment"); if (attachmentsByName != null && attachmentsByName.length > 0) { for (var i = 0; i < attachmentsByName.length; i++) { var attachmentA = attachmentsByName[i]; if (attachmentA == null) { continue; } attachment += attachmentA.getAttribute('value') + ","; } } return attachment; } function form_rep_submit(content){//提交函数,直接抄官方的改一改 var req = GetRequest(); //var content = $("#" + topicId).val(); var img=$("#images_img_"+req.topicid).find("img"); var str=""; for(var i=0;i