20 May 2013

dz论坛自动灌水机---暴力猴脚本


修改自http://userscripts.org/users/508758

图片用WinRAR打开


// ==UserScript==
// @name        dz论坛自动灌水机
// @namespace   http://userscripts.org/users/508758
// @description 实现dz论坛下自动灌水功能
// @include     *read*tid*
// @include     *forum*fid*
// @include *thread*
// @include *forum*viewthread*
// @version     1.0 Beta
// ==/UserScript==

// ------------------------------ Read Me ------------------------------ //
// 该脚本用于在dz论坛进行盖楼,请务必在灌水结束后关闭页面,不然可能会导致下次打开继续灌水,该BUG暂未想到合理的解决方案 (想法是关闭标签页触发清空GM中的value)
// 间隔时间如果设置过小,会导致回复无效;其实间隔时间也不准
// 一次只能在一个url里面灌水,不能同时作用于不同的两个url
// 有关于脚本的任何BUG或者问题请在下面留言或者@我,谢谢
// 如果您需要的论坛脚本不起作用,麻烦将地址告诉我
// firefox only
// ------------------------------ To Learn ------------------------------ //
// ------------------------------ Update Log ------------------------------ //
// first created on Mar 14, 2013
// 修正了灌水时如果打开新的@include中的页面也会同时灌水的BUG  Mar 17, 2013
// initially finished on Mar 21, 2013
/////初始化。。。。。。
if(GM_getValue("start_flag")==null)
GM_setValue("start_flag", false);
//if(GM_getValue("zindex")==null)
// GM_setValue("zindex", 1);
water();
function water() {
var wBtn_f=Id("wBtn");
var wStn_f=Id("wStn");
var curDiv = Id("f_pst");
var newDiv = document.createElement("div");
if(GM_getValue("start_flag"))
{
if(wBtn_f!=null)
{
Id("wBtn").style.display="none";
}
if(wStn_f==null)
{
//GM_setValue("zindex", GM_getValue("zindex")+1);
newDiv.innerHTML = '\
<button id = "wStn" class = "pn pnc vm" style = "float : right;margin-right : 200px"> <strong> 关闭灌水模式 </strong> </button>\
';
curDiv.parentNode.appendChild(newDiv);
}
if(Id("wStn").style.display=="none") Id("wStn").style.display="block";
var the_wStn = document.getElementById("wStn");
the_wStn.addEventListener("click", stopWater); //按键监听关闭 }
else{
if(wStn_f!=null)
{Id("wStn").style.display="none";}
if(wBtn_f==null)
{newDiv.innerHTML = '\
<b>回复内容</b>\
<input id = "textArea1" type = "text" style = "width : 400px" class = "tedt mtn">\
<b>回复次数</b>\
<input id = "textArea2" type = "text" style = "width : 30px" value="5" class = "tedt mtn">\
<b>间隔时间(秒)</b>\
<input id = "textArea3" type = "text" style = "width : 30px" value="10" class = "tedt mtn" >\
<button id = "wBtn" class = "pn pnc vm" style = "float : right; margin-right : 200px"> <strong> 开启灌水模式 </strong> </button>\
';
curDiv.parentNode.appendChild(newDiv);
}
if(Id("wBtn").style.display=="none") Id("wBtn").style.display="block";
var the_wBtn = document.getElementById("wBtn");
the_wBtn.addEventListener("click", startWater); //按键监听开启

}
if(GM_getValue("url") !== window.location.href) return; //不允许出现新的灌水页面


if(GM_getValue("count")) {
GM_setValue("count", GM_getValue("count") - 1);
var textArea = document.getElementById("fastpostmessage");
var wBtn = document.getElementById("fastpostsubmit");
textArea.value = radtextArea();
wBtn.click();
console.log(GM_getValue("count"));
if(GM_getValue("count")) {window.setTimeout(function() {water()}, GM_getValue("interval"));}
else stopWater();
}
else { //灌水结束
stopWater();
}
}

/////////////////////////---函数---//////////////////////////
function Id(a) {
return document.getElementById(a);
}
/////////////开启灌水模式////////////
function startWater() {
GM_setValue("start_flag", true);
GM_setValue("url", window.location.href); //设定灌水页面url
GM_setValue("textArea", Id("textArea1").value); GM_setValue("count", parseInt(Id("textArea2").value));
GM_setValue("interval", Id("textArea3").value * 1000);
water();
//fun();
}
/////////////关闭灌水模式////////////
function stopWater() {
if(GM_getValue("start_flag")){
//GM_setValue("start_flag", false);
GM_deleteValue("start_flag");
GM_deleteValue("url");
GM_deleteValue("textArea");
GM_deleteValue("count");
GM_deleteValue("interval");
console.log("灌水模式关闭!");
//alert("灌水模式关闭!");
}
water();
}
/////////////随机内容/////////////////////
function radtextArea() {
if(Id("textArea1").value!="")
{return Id("textArea1").value;}
var textArea= new Array(
'[catsoul=1]直到我膝盖中了一箭[/catsoul]',
'[catsoul=2]我擦![/catsoul]',
'[catsoul=3]你懂的。[/catsoul]',
'[catsoul=4]这真是极好的[/catsoul]',
'[catsoul=5]给力![/catsoul]',
'[catsoul=6]你妹。[/catsoul]',
'[catsoul=7]感觉不会再爱了[/catsoul]',
'[catsoul=8]楼下怎么看?[/catsoul]',
'[catsoul=9]呵呵。[/catsoul]',
'[catsoul=4]有人否???[/catsoul]'
);
//随机数
var N=textArea.length-1;
var radom_num = 0;
radom_num = parseInt(Math.random()*N+1); //0-N
return textArea[radom_num]; }
///////////刷新页面///////
function fun() {
window.location.reload();
}
////////////////////////////--END--//////////////////////////////

No comments:

Post a Comment