您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a button to the right of the Save changes button. Press it, write the number of the BotD and let the post be auto updated by the script.
// ==UserScript== // @name BotD Auto-updater // @namespace arreloco // @include http://www.kongregate.com/forums/* // @version 0.0.1.20160306141318 // @description Adds a button to the right of the Save changes button. Press it, write the number of the BotD and let the post be auto updated by the script. // ==/UserScript== function getMyDay(date) { switch (date.getDay()) { case 0 : return "Sunday"; break; case 1 : return "Monday"; break; case 2 : return "Tuesday"; break; case 3 : return "Wednesday"; break; case 4 : return "Thursday"; break; case 5 : return "Friday"; break; case 6 : return "Saturday"; break; } } function getMyMonth(date) { switch (date.getMonth()) { case 0 : return "January"; break; case 1 : return "February"; break; case 2 : return "March"; break; case 3 : return "April"; break; case 4 : return "May"; break; case 5 : return "June"; break; case 6 : return "July"; break; case 7 : return "August"; break; case 8 : return "September"; break; case 9 : return "October"; break; case 10 : return "November"; break; case 11 : return "December"; break; } } setInterval(function updV() { try { op = document.getElementsByClassName("post_creator")[0].innerHTML; } catch (ex) { return; } ar = document.getElementById("forums").innerHTML.split("button_or"); if(ar.length<4 && op == "Vizuna"){ btn = document.createElement("span"); btn.setAttribute("class", "button_or"); btn.innerHTML = "| "; updateBtn = document.createElement("a"); updateBtn.setAttribute("href", "javascript:void(0);"); updateBtn.addEventListener("click", function (event) { day = prompt("Please, enter the number of the BotD", ""); if (day == null) { return; } xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", "http://www.kongregate.com/badges", false); xmlhttp.send(); page = xmlhttp.responseText; page = page.split("botd_content")[1].split("What's Badge of the Day?")[0]; badge = page.split('title="')[1].split(' width')[0]; badge = badge.replace(" (to be earned)\"",""); badge = badge.replace(" (completed)\"",""); badge += " Badge"; alert(badge); page = page.split('badge_details')[1]; gLink = page.split('href="')[1].split(' class=')[0]; description = page.split('<em class')[1].split("<a href")[0]; patt1 = /easy/g; patt2 = /medium/g; patt3 = /hard/g; if (patt1.test(description)) { points = 5; val = "<i>(easy - 5 points)</i>"; } else if (patt2.test(description)) { points = 15; val = "<i>(medium - 15 points)</i>"; } else if (patt3.test(description)) { points = 30; val = "<i>(hard - 30 points)</i>"; } game = page.split(gLink)[2].split("</a>")[0].replace(">", ""); d = new Date(); var r = document.getElementById("edit_post_body").innerHTML; patt4 = /</g; patt5 = />/g; r = r.replace(patt4,"<"); r = r.replace(patt5,">"); ar = r.split("<br"); totalPoints = parseInt(r.split("bonus points: <b>")[1].split("</b>")); totalPoints += points; avgPoints = parseInt(totalPoints/parseInt(day)*10)/10; avgPoints += "</b>"; totalPoints = "Total bonus points: <b>"+totalPoints.toString(); new_badge = day+". "+getMyDay(d)+", "+getMyMonth(d)+" "+d.getDate()+", "+d.getFullYear()+"<br><a href='"+gLink.replace('"', "")+"'>"+game+"</a><br><ul><li><b>"+badge+"</b>"+val+"</li></ul><br\>"; ar[ar.length-2] = ">Average bonus points per day: <b>"+avgPoints; ar[ar.length-3] = ">"+totalPoints+"</b>"; ar[ar.length-4] = ">"+new_badge; new_pst = ar.join("<br"); document.getElementById("edit_post_body").innerHTML = new_pst; }, false); updateBtn.innerHTML = "update"; btn.appendChild(updateBtn); try{ table = document.getElementById("edit").getElementsByTagName("tbody")[0].getElementsByTagName("td")[2]; }catch(ex){ return; } table.appendChild(btn); } }, 1000);