妖火吃肉

妖火网肉贴打开后自动回复吃肉,当天不重复吃,余数为0不吃,隔天后又可以重复吃一次。懒得回帖之人必备,又可以吃肉

当前为 2020-01-05 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

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

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         妖火吃肉
// @namespace    https://www.bmt.pub/
// @version      1.0
// @description  妖火网肉贴打开后自动回复吃肉,当天不重复吃,余数为0不吃,隔天后又可以重复吃一次。懒得回帖之人必备,又可以吃肉
// @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
// ==/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,吃完");

    //得到楼主ID方法
    var f1=function(){
        //获取楼主空间地址操作,得到ID
        var request = $.ajax({
            //请求方式
            type:'GET',
            async: false,
            //发送请求的地址以及传输的数据
            url:"https://yaohuo.me",
            success:function(data){
                //请求成功函数内容
                //匹配首页空间a标签
                //匹配a标签
                var aReg=/<a[^>]*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();
        //匹配所有妖火成员回复的url和参数
        var action=$("input[name='action']").val();
        var siteid=$("input[name='siteid']").val();
        var lpage=$("input[name='lpage']").val();
        var sid=$("input[name='sid']").val();
        var classid=$("input[name='classid']").val();
        var id=$("input[name='id']").val();
        //因没有getTotal参数,所以另需寻找
        var getTotalElement=document.getElementsByClassName('more')[0].firstElementChild.href;
        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){
                    //匹配所有用户回复链接,如<a href="/bbs/Book_re.aspx?siteid=1000&amp;classid=177&amp;lpage=1&amp;page=1&amp;reply=76&amp;id=776920&amp;touserid=7021&amp;ot=">回</a>
                    var aReg=/<a[^>]*href=['"]([^"]*)['"][^>]*>([\u56DE])<\/a>/g;
                    var tempArr= data.match(aReg);
                    for(var k=0;k<tempArr.length;k++){
                        var touserIdIndexOf1=tempArr[k].indexOf('touserid=');
                        var touserIdIndexOf2=tempArr[k].indexOf('\&amp;ot=\">回');
                        //获取到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("当前妖火网时间:",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;
                }
    }



    //比较当天时间信息
    time=localStorage.getItem('当前妖火网时间:');

    //比较当天时间信息,if存在当天时间信息就比较时间
    if(time!=null) {
        //比较今天和之前时间
        if(time==nowdate()){
            //未吃过肉
            count=f2();
            if(count==0){
                f4();
            }
            //吃过肉了
            else{
                return;
            }

        }
        //比较时间不等时,即新一天
        else{
            //更新吃肉记录为未吃状态
            count=0;
            f4();
        }
    }
    //不存在时间记录时,创建记录
    else{
        localStorage.setItem("当前妖火网时间:",nowdate());
        count=f2();
        //未吃过肉
        if(count==0){
            f1();
            f4();
        }
        //吃过肉了
        else{
            return;
        }

    }
});