// ==UserScript==
// @name 懒人必备
// @namespace https://www.bmt.pub/
// @version 1.3
// @description 懒得回帖之人必备
// @author 。。。。
// @require https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js
// @require https://cdn.bootcss.com/sweetalert/2.1.2/sweetalert.min.js
// @require https://code.jquery.com/jquery-latest.js
// @match http://yaohuo.me/*
// @match https://yaohuo.me/*
// @include https://yaohw.com/*
// @include http://yaohw.com/*
// @run-at document-start
// @grant GM_getValue
// @grant GM.getValue
// @grant GM_setValue
// @grant GM.setValue
// @grant GM_addStyle
// @grant GM_xmlhttpRequest
// @grant GM_getResourceText
// @grant GM_registerMenuCommand
// @grant unsafeWindow
// @downloadURL https://update.greasyfork.icu/scripts/394653/%E6%87%92%E4%BA%BA%E5%BF%85%E5%A4%87.user.js
// @updateURL https://update.greasyfork.icu/scripts/394653/%E6%87%92%E4%BA%BA%E5%BF%85%E5%A4%87.meta.js
// ==/UserScript==
//当前时间
var nowdate= function() {
//获取当前时间
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
var nowDate = year + "-" + month + "-" + day;
return nowDate;
}
//正文
$(document).ready(function(){
//楼主ID
var userid;
//一个帖子内吃肉次数
var count=0;
//当天时间信息
var time;
//吃肉时回复内容
var context=new Array("吃","吃肉","吃了","再吃","感谢肉肉~","感谢","吃完再说","真香","我是来吃肉的","ok,吃完");
//匹配所有妖火成员回复的url和参数
var action,siteid,lpage,classid,sid,id;
//得到楼主ID方法
var f1=function(){
//获取楼主空间地址操作,得到ID
var request = $.ajax({
//请求方式
type:'GET',
async: false,
//发送请求的地址以及传输的数据
url:"https://yaohuo.me",
success:function(data){
//请求成功函数内容
//匹配首页空间a标签
//匹配a标签
var aReg=/]*href=['"]([^"]*)['"][^>]*>([\u7A7A\u95F4]{2})<\/a>/g;
//获取楼主ID
var arrA = data.match(aReg);
var indexof1=arrA[0].indexOf('id=');
var indexof2=arrA[0].indexOf('\">空间');
//获取到id
userid =arrA[0].substring(indexof1+3,indexof2);
},
error:function(jqXHR){
//请求失败函数内容
}
});
//终止请求动作.
request.abort();
return userid;
}
//统计楼主存在的吃肉回复次数方法
var f2=function(){
f1();
//这里要匹配帖子是否有回帖记录,若有再匹配楼主ID,是否吃过肉同时在子字节a标签中可以找到getTotal参数
var moreDiv=document.getElementsByClassName('more');
if(moreDiv.length==0){
count=0;
return count;
}
//匹配所有妖火成员回复的url和参数
action=$("input[name='action']").val();
siteid=$("input[name='siteid']").val();
lpage=$("input[name='lpage']").val();
sid=$("input[name='sid']").val();
classid=$("input[name='classid']").val();
id=$("input[name='id']").val();
//因没有getTotal参数,所以另需寻找
var getTotalElement=moreDiv[0].firstElementChild.href;//div子标签a标签中有
var getTotalElementindexof1=getTotalElement.indexOf('getTotal=');
var getTotalElementindexof2=getTotalElement.indexOf('&id=');
var getTotal =getTotalElement.substring(getTotalElementindexof1+9,getTotalElementindexof2);
for(var i=1;i<=getTotal/15+1;i++){
var hrefUrl='https://yaohuo.me/bbs/book_re.aspx?action='+ action +'&siteid='+siteid+'&classid='+classid+'&id='+id+'&lpage='+lpage+'&getTotal='+getTotal+'&ot=&mainuserid=&page='+i;
var request1= $.ajax({
//请求方式
type:'GET',
//发送请求的地址以及传输的数据
url:hrefUrl,
async:false,
success: function(data){
//匹配所有用户回复链接,如回
var aReg=/]*href=['"]([^"]*)['"][^>]*>([\u56DE])<\/a>/g;
var tempArr= data.match(aReg);
for(var k=0;k回');
//获取到id
var tempid =tempArr[k].substring(touserIdIndexOf1+9,touserIdIndexOf2);
if(userid==tempid){
count++;
console.log("您回复帖子次数:第"+count+"次");
}
}
},
error:function(jqXHR){
//请求失败函数内容
console.log('错误原因:'+jqXHR);
},
failure:function (result) {
console.log('失败原因:'+result);
},
});
//终止请求动作.
request1.abort();
}
return count;
}
//回复贴子方法
var f3=function(){
console.log("发言次数:"+count);
if(count<=0){
//执行发言
$("textarea[name='content']").val(context[Math.floor(Math.random()*(11 - 1) + 1)]);
$("input[name='g']").click();
//存储时间文本和吃肉信息
localStorage.setItem("会员:"+id,nowdate());
return;
}
}
//判断肉是否吃完,以及调用f3()吃肉方法
var f4= function(){
//匹配肉是否吃完,查看"余0"和“礼金”
var lijinReg=/\u793C\u91D1/g;//礼金
var remainderReg=/\(\u4F59[0]\)/g;//(余0)
var data=$(".dashed").parent()[0].innerText;
var lijin= data.match(lijinReg);
var remainder= data.match(remainderReg);
if(data==undefined){
return;
}
//匹配是否为肉贴
if(lijin!=null)
if(lijin[0]=='礼金')
//若肉的余数为零则不吃不回复
if(remainder==null){
f3();
}
else if(remainder[0]=='(余0)'){
return;
}else{
return;
}
}
//比较当天时间信息
id=$("input[name='id']").val();
time=localStorage.getItem("会员:"+id);
console.log("当前帖子ID"+id+"的存储时间为:"+time);
//比较当天时间信息,if存在当天时间信息就比较时间
if(time!=null) {
//比较今天和之前时间
if(time==nowdate()){
//未吃过肉
count=f2();
if(count==0){
f4();
}
//吃过肉了
else{
return;
}
}
//比较时间不等时,即新一天
else{
//更新吃肉记录为未吃状态
count=0;
f4();
}
}
//不存在时间记录时,创建记录
else{
localStorage.setItem("会员:"+id,nowdate());
count=f2();
//未吃过肉
if(count==0){
f4();
}
//吃过肉了
else{
return;
}
}
});