// ==UserScript== // @name 巴哈姆特之一鍵自推自刪 // @description 點一下就能自推文章後自刪,適合實況文自推之類的場合。細節請見homepage內的介紹文。 // @namespace nathan60107 // @version 1.3 // @author nathan60107(貝果) // @homepage https://home.gamer.com.tw/homeindex.php?owner=nathan60107 // @include https://forum.gamer.com.tw/C.php* // @downloadURL none // ==/UserScript== //=====================以下內容可修改==================== var content = "自推";//自推文的內文,使用者可以自由把自推二字改成其他文字內容(雙引號請勿刪除)。 var selfDel = true;//控制自推後是否自刪的參數,如果不需要自刪請將true改成false。 var goBackToList = true;//控制流程結束後是否回到B頁文章列表(以供使用者檢查自推是否成功)。 //=====================以上內容可修改==================== function getVal(input) { return document.getElementsByName(input)[0].value; } function goback(){//回到B頁文章列表 if(goBackToList==true){ location.href = document.getElementsByClassName("goback")[0].href; } } function showErrorMsg(input){//顯示錯誤訊息用 var msg = input.match(`訊息

.*

`)[0]; msg = msg.slice(11, msg.length-4); toastr.warning(msg); } function delPost(input){//刪除自推文章 var ma = input.match(/&sn=\d+/g);//開始解析刪文網址 var sn = ma[ma.length-2].slice(4,10); var S = pdel.toString(); var start = S.match(/'bsn/), end = S.match(/';\ndel/); S = S.slice(start.index, end.index+1); S = S.replace("+ sn +", "+ "+sn+" +"); var params = eval(S); jQuery.ajax({ type: "GET", url: "post2.php?"+params, success: function (rt) { if(rt.match(`訊息`)!=null){//處理自刪失敗 showErrorMsg(rt); return; } goback(); }, error: function (errMsg) { toastr.warning("自刪失敗,未知的錯誤。"); }, }); } function selfPush(){//自推文章 jQuery.ajax({ type: "POST", data: { rtecontent: "[div]"+content+"[/div]", pwd: getVal("pwd"), type: getVal("type"), code: getVal("code"), subbsn: getVal("subbsn"), title: getVal("title"), sign: getVal("sign"), ptype: getVal("ptype"), bbsign: getVal("bbsign"), ccsign: getVal("ccsign"), }, url: document.frm.action, success: function (rt) { if(rt.match(`系統訊息`)!=null){//處理發文失敗 showErrorMsg(rt); return; }else if(selfDel==false){//若不自刪則直接返回 goback(); return; }else{ delPost(rt);//執行刪文動作 } }, error: function (errMsg) { toastr.warning("自推失敗,未知的錯誤。"); }, }); } (function() { 'use strict'; //建立按鈕 jQuery(".BH-menu-forumA-right").parent().append("
  • speaker_notes_off
  • "); jQuery(".selfPush").click(selfPush); })();