您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Erweitert pr0gramm.com um weitere Funktionen
当前为
// ==UserScript== // @name Selfmade M0d // @author Frubi // @description Erweitert pr0gramm.com um weitere Funktionen // @include *://pr0gramm.com/* // @grant none // @version 1.1 // @namespace https://gf.qytechs.cn/users/158955 // ==/UserScript== let settings = { isActive : true, skipUploadByTag : false, blockedTags : [], onlyGoodTags : true, amountOfTagsChecked: -1, skipUploadByUser : false, blockedUsers : [], skipUploadByTotalBenis : false, minBenis : 0, skipUploadByAverageBenis : false, minAverageBenis : 0, skipUploadByUserRank : false, blockedUserRanks : [], nextUploadDirection : -1, autoRateSkippedUploads : false } let readSettings = function() { let temp = JSON.parse(localStorage.getItem("Selfmade_M0d_Settings")); if(temp != null) { settings = temp; } } let checkURL= function(data) { if ( url != data) { url = data; if(url.length > 24) { if(url.indexOf("new") != -1 || url.indexOf("top") != -1 || url.indexOf("user") != -1) { if($('.item-container').length != 0 && settings.isActive) executeModules(); } else if(url.indexOf("selfmade_M0d") != -1 ) { createSettings(); } else if(url.indexOf("settings") != -1) { addSettingsTab(); } } } } let addSettingsTab = function() { let i = 0 while($('.tab-bar')[0] == undefined) { if(i++ >100) return; } let tmp = $('.Selfmade_M0d'); if(tmp.length != 0) { tmp.remove(); } let button = document.createElement('a'); button.innerText = 'Selfmade M0d'; button.className = "Selfmade_M0d"; button.href = '/settings/selfmade_M0d'; $('.tab-bar')[0].appendChild(button); } let createSettings = function() { let i = 0; while( $('#main-view h2') == undefined) { if(i++ > 100) return; } $('#main-view h2').remove(); let tagText = document.createElement('span'); tagText.innerText = "Geblockte Tags: "; tagText.className = "Selfmade_M0d"; tagText.id = 'bt'; tagText.title = "Tags mit Komma trennen!"; let skippedTagsInput = document.createElement('input'); skippedTagsInput.defaultValue = settings.blockedTags.join(','); skippedTagsInput.onmouseover = function() { // consoleconsole.log($('#bt')[0].children[0].height); // $('#bt')[0].children[0].width = "textarea"; }; tagText.appendChild(skippedTagsInput); $('#main-view')[0].appendChild(tagText); let userText = document.createElement('span'); userText.innerText = "Geblockte Nutzer: "; userText.className = "Selfmade_M0d"; userText.id = 'bu'; userText.title = "Nutzernamen mit Komma trennen!"; let skippedUsersInput = document.createElement('input'); skippedUsersInput.defaultValue = settings.blockedUsers.join(','); userText.appendChild(skippedUsersInput); $('#main-view')[0].appendChild(userText); let rankText = document.createElement('span'); rankText.innerText = "Geblockte Ränge: "; rankText.className = "Selfmade_M0d"; $('#main-view')[0].appendChild(rankText); let fagText = document.createElement('span'); fagText.innerText = "Schwuchtel: "; fagText.className = "Selfmade_M0d"; fagText.id = 'fag'; let skipFagRankButton = document.createElement('input'); skipFagRankButton.type = "checkbox"; if(settings.blockedUserRanks.includes("fag")) skipFagRankButton.defaultChecked = true; fagText.appendChild(skipFagRankButton); $('#main-view')[0].appendChild(fagText); let newFagText = document.createElement('span'); newFagText.innerText = "Neuschwuchtel: "; newFagText.className = "Selfmade_M0d"; newFagText.id = 'newfag'; let skipNewfagRankButton = document.createElement('input'); skipNewfagRankButton.type = "checkbox"; if(settings.blockedUserRanks.includes("newfag")) skipNewfagRankButton.defaultChecked = true; newFagText.appendChild(skipNewfagRankButton); $('#main-view')[0].appendChild(newFagText); let oldFagText = document.createElement('span'); oldFagText.innerText = "Altschwuchtel: "; oldFagText.className = "Selfmade_M0d"; oldFagText.id = 'oldfag'; let skipOldfagRankButton = document.createElement('input'); skipOldfagRankButton.type = "checkbox"; if(settings.blockedUserRanks.includes("oldfag")) skipOldfagRankButton.defaultChecked = true; oldFagText.appendChild(skipOldfagRankButton); $('#main-view')[0].appendChild(oldFagText); let pr0miumText = document.createElement('span'); pr0miumText.innerText = "Pr0mium: "; pr0miumText.className = "Selfmade_M0d"; pr0miumText.id = 'pr0mium'; let skippr0miumRankButton = document.createElement('input'); skippr0miumRankButton.type = "checkbox"; if(settings.blockedUserRanks.includes("pr0mium")) skippr0miumRankButton.defaultChecked = true; pr0miumText.appendChild(skippr0miumRankButton); $('#main-view')[0].appendChild(pr0miumText); let deletedText = document.createElement('span'); deletedText.innerText = "Gesperrt: "; deletedText.className = "Selfmade_M0d"; deletedText.id = 'deleted'; let skipDeletedRankButton = document.createElement('input'); skipDeletedRankButton.type = "checkbox"; if(settings.blockedUserRanks.includes("deleted")) skipDeletedRankButton.defaultChecked = true; deletedText.appendChild(skipDeletedRankButton); $('#main-view')[0].appendChild(deletedText); let scumText = document.createElement('span'); scumText.innerText = "Fliesentischbesitzer: "; scumText.className = "Selfmade_M0d"; scumText.id = 'scum'; let skipScumRankButton = document.createElement('input'); skipScumRankButton.type = "checkbox"; if(settings.blockedUserRanks.includes("scum")) skipScumRankButton.defaultChecked = true; scumText.appendChild(skipScumRankButton); $('#main-view')[0].appendChild(scumText); let legendText = document.createElement('span'); legendText.innerText = "Lebende Legende: "; legendText.className = "Selfmade_M0d"; legendText.id = 'legend'; let skipLegendRankButton = document.createElement('input'); skipLegendRankButton.type = "checkbox"; if(settings.blockedUserRanks.includes("legend")) skipLegendRankButton.defaultChecked = true; legendText.appendChild(skipLegendRankButton); $('#main-view')[0].appendChild(legendText); let modText = document.createElement('span'); modText.innerText = "Moderator: "; modText.className = "Selfmade_M0d"; modText.id = 'mod'; let skipModRankButton = document.createElement('input'); skipModRankButton.type = "checkbox"; if(settings.blockedUserRanks.includes("mod")) skipModRankButton.defaultChecked = true; modText.appendChild(skipModRankButton); $('#main-view')[0].appendChild(modText); let adminText = document.createElement('span'); adminText.innerText = "Administrator: "; adminText.className = "Selfmade_M0d"; adminText.id = 'admin'; let skipAdminRankButton = document.createElement('input'); skipAdminRankButton.type = "checkbox"; if(settings.blockedUserRanks.includes("admin")) skipAdminRankButton.defaultChecked = true; adminText.appendChild(skipAdminRankButton); $('#main-view')[0].appendChild(adminText); let totalBenisText = document.createElement('span'); totalBenisText.innerText = "Mindest Benis: "; totalBenisText.className = "Selfmade_M0d"; totalBenisText.id = 'mb'; let skipUploadByTotalBenisButton = document.createElement('input'); skipUploadByTotalBenisButton.type = "checkbox"; skipUploadByTotalBenisButton.defaultChecked = settings.skipUploadByTotalBenis; totalBenisText.appendChild(skipUploadByTotalBenisButton); $('#main-view')[0].appendChild(totalBenisText); let skipUploadByTotalBenisInput = document.createElement('input'); skipUploadByTotalBenisInput.type = "number"; skipUploadByTotalBenisInput.defaultValue = settings.minBenis; totalBenisText.appendChild(skipUploadByTotalBenisInput); $('#main-view')[0].appendChild(totalBenisText); let averageBenisText = document.createElement('span'); averageBenisText.innerText = "Mindest Durchschnittsbenis: "; averageBenisText.className = "Selfmade_M0d"; averageBenisText.id = 'ab'; let skipUploadByAverageBenisButton = document.createElement('input'); skipUploadByAverageBenisButton.type = "checkbox"; skipUploadByAverageBenisButton.defaultChecked = settings.skipUploadByAverageBenis; averageBenisText.appendChild(skipUploadByAverageBenisButton); $('#main-view')[0].appendChild(averageBenisText); let skipUploadByAverageBenisInput = document.createElement('input'); skipUploadByAverageBenisInput.type = "number"; skipUploadByAverageBenisInput.defaultValue = settings.minAverageBenis; averageBenisText.appendChild(skipUploadByAverageBenisInput); $('#main-view')[0].appendChild(averageBenisText); let onlyGoodTagsText = document.createElement('span'); onlyGoodTagsText.innerText = "Keine Heruntergevoteten Tags berücksichtigen "; onlyGoodTagsText.className = "Selfmade_M0d"; onlyGoodTagsText.id = 'gt'; let onlyGoodTagsButton = document.createElement('input'); onlyGoodTagsButton.type = "checkbox"; onlyGoodTagsButton.defaultChecked = settings.onlyGoodTags; onlyGoodTagsText.appendChild(onlyGoodTagsButton); $('#main-view')[0].appendChild(onlyGoodTagsText); let amountOfTagsText = document.createElement('span'); amountOfTagsText.innerText = "Anzahl der Tags: "; amountOfTagsText.className = "Selfmade_M0d"; amountOfTagsText.id = 'at'; amountOfTagsText.title = "-1 = alle"; let amountOfTagsCheckedInput = document.createElement('input'); amountOfTagsCheckedInput.type = "number"; amountOfTagsCheckedInput.defaultValue = settings.amountOfTagsChecked; amountOfTagsText.appendChild(amountOfTagsCheckedInput); $('#main-view')[0].appendChild(amountOfTagsText); let directionText = document.createElement('span'); directionText.innerText = "Skiprichtung rechts "; directionText.className = "Selfmade_M0d"; directionText.id = 'di'; let nextUploadDirection = document.createElement('input'); nextUploadDirection.type = "checkbox"; if(settings.nextUploadDirection == -1) nextUploadDirection.defaultChecked = true; directionText.appendChild(nextUploadDirection); $('#main-view')[0].appendChild(directionText); let saveSettingsButton = document.createElement('button'); saveSettingsButton.type = "button"; saveSettingsButton.innerText = "Speichern"; saveSettingsButton.id = "SMSubmit"; $('#main-view')[0].appendChild(saveSettingsButton); let resetSettingsButton = document.createElement('button'); resetSettingsButton.type = "button"; resetSettingsButton.innerText = "Einstellungen zurücksetzen"; resetSettingsButton.id = "SMReset"; $('#main-view')[0].appendChild(resetSettingsButton); $('#SMSubmit').click(function(){ saveSettings(); }); $('#SMReset').click(function(){ localStorage.removeItem('Selfmade_M0d_Settings'); location.reload(); }); $('span.Selfmade_M0d').css("display", "block"); } let saveSettings = function() { settings.blockedTags = $('#bt')[0].children[0].value.split(','); for(let i = settings.blockedTags.length-1; i>= 0; i--) { if(settings.blockedTags[i] == "") settings.blockedTags.splice(i,1); } if(settings.blockedTags.length >0) settings.skipUploadByTag = true; else settings.skipUploadByTag = false; settings.onlyGoodTags = $('#gt')[0].children[0].checked; settings.amountOfTagsChecked = Number($('#at')[0].children[0].value); settings.blockedUsers = $('#bu')[0].children[0].value.split(','); for(let i = settings.blockedUsers.length-1; i>= 0; i--) { if(settings.blockedUsers[i] == "") settings.blockedUsers.splice(i,1); } if(settings.blockedUsers.length >0) settings.skipUploadByUser = true; else settings.skipUploadByUser = false; settings.skipUploadByTotalBenis = $('#mb')[0].children[0].checked; settings.minBenis = Number($('#mb')[0].children[1].value); settings.skipUploadByAverageBenis = $('#ab')[0].children[0].checked; settings.minAverageBenis = Number($('#ab')[0].children[1].value); settings.blockedUserRanks = []; if($('#fag')[0].children[0].checked) settings.blockedUserRanks.push("fag"); if($('#newfag')[0].children[0].checked) settings.blockedUserRanks.push("newfag"); if($('#oldfag')[0].children[0].checked) settings.blockedUserRanks.push("oldfag"); if($('#pr0mium')[0].children[0].checked) settings.blockedUserRanks.push("pr0mium"); if($('#deleted')[0].children[0].checked) settings.blockedUserRanks.push("deleted"); if($('#scum')[0].children[0].checked) settings.blockedUserRanks.push("scum"); if($('#legend')[0].children[0].checked) settings.blockedUserRanks.push("legend"); if($('#mod')[0].children[0].checked) settings.blockedUserRanks.push("mod"); if($('#admin')[0].children[0].checked) settings.blockedUserRanks.push("admin"); if(settings.blockedUserRanks.length >0) settings.skipUploadByUserRank = true; else settings.skipUploadByUserRank = false; if($('#di')[0].children[0].checked) settings.nextUploadDirection = -1; else settings.nextUploadDirection = 1; settings.autoRateSkippedUploads = false; localStorage.setItem("Selfmade_M0d_Settings", JSON.stringify(settings)); } let createFilter = function() { let filter = $('.filter-setting:eq(2)'); filter.clone().insertAfter(filter); filter = $('.filter-setting:eq(3)'); let circle = filter[0].children[0].children[0]; filter[0].children[0].innerText = "Self-made M0d"; filter[0].children[0].prepend(circle); filter[0].children[1].innerText = "Aktiviere das Selfmade M0d Addon. Speichern nicht erforderlich"; filter.attr("data-flag",8); $('#filter-link').click(function(){ if(settings.isActive) filter.addClass("active"); else filter.removeClass("active"); }) filter.click(function(){ if($('.filter-setting:eq(3)').hasClass("active")) { settings.isActive = false; $('.filter-setting:eq(3)').removeClass("active"); } else { settings.isActive = true; $('.filter-setting:eq(3)').addClass("active"); } localStorage.setItem("Selfmade_M0d_Settings", JSON.stringify(settings)); }) } let nextUpload = function() { if(settings.nextUploadDirection == 1) { $('.stream-prev').click(); } else if(settings.nextUploadDirection == -1) { $('.stream-next').click(); } } let rateUpload = function(direction = -1) { if(direction == 1) { if($('.item-vote')[0].className.indexOf("voted-up") == -1) $('.vote-up').click(); } else if(direction == -1) { if($('.item-vote')[0].className.indexOf("voted-down") == -1) $('.vote-down').click(); } } let getTags = function() { let tags = []; let rawTags; if(settings.onlyGoodTags == true) { rawTags = $('.tag-good'); } else { rawTags = $('.tag-good,.tag-bad'); } let amount = settings.amountOfTagsChecked; if(amount == -1) { amount = rawTags.length; } else { amount = Math.min(amount, rawTags.length) } for(let i = 0; i <amount; i++) { tags.push(rawTags[i].children[0].innerText); } return tags; } let getTotalBenis = function() { let score = $('.item-vote .score'); if(score.length != 0) { return $('.item-vote .score')[0].innerText; } return undefined; } let getAverageBenis = function() { let score = $('.item-vote .score'); if(score.length != 0) { score = $('.item-vote .score')[0].title; let divident = Number(score.substr(0,score.indexOf("u")-1)); let divisor = Number(score.substr(score.indexOf("u")+4,score.indexOf("u"))); if(divisor == 0) { return divident; } return divident / divisor; } else undefined; } let getUser = function() { let i = 0; while($('.item-details .user')[0] == undefined) { if(i++ > 100) return; } return $('.item-details .user')[0].innerText; } let getUserRank = function() { let i = 0; while($('.item-details .user')[0] == undefined) { if(i++ > 100) return; } switch($('.item-details .user')[0].classList[1]) { case("um0"): return "fag"; break; case("um1"): return "newfag"; break; case("um2"): return "oldfag"; break; case("um3"): return "admin"; break; case("um4"): return "deleted"; break; case("um5"): return "mod"; break; case("um6"): return "scum"; break; case("um7"): return "legend"; break; case("um8"): break; case("um9"): return "pr0mium"; break; default: break; } } let executeModules = function() { let wasSkipped = false; if(settings.skipUploadByTag) { wasSkipped = skipUploadByTag(); } if(settings.skipUploadByUser && !wasSkipped) { wasSkipped = skipUploadByUser(); } if(settings.skipUploadByTotalBenis && !wasSkipped) { wasSkipped = skipUploadByTotalBenis(); } if(settings.skipUploadByAverageBenis && !wasSkipped) { wasSkipped = skipUploadByAverageBenis(); } if(settings.skipUploadByUserRank && !wasSkipped) { wasSkipped = skipUploadByUserRank(); } } let skipUploadByTag = function() { let tags = getTags(); for(let i = 0; i < tags.length; i++) { for(let j = 0; j < settings.blockedTags.length; j++) { if(tags[i].toLowerCase().indexOf(settings.blockedTags[j].toLowerCase()) != -1) { if(settings.autoRateSkippedUploads) { rateUpload(); } nextUpload(); console.log("Skipped because of Tag: " + settings.blockedTags[j]); return true; } } } } let skipUploadByUser = function() { let user = getUser(); for(let i = 0; i < settings.blockedUsers.length; i++) { if(user.toLowerCase() == settings.blockedUsers[i].toLowerCase()) { if(settings.autoRateSkippedUploads) { rateUpload(); } nextUpload(); console.log("Skipped because of User: " + settings.blockedUsers[i]); return true; } } } let skipUploadByTotalBenis = function() { let score = getTotalBenis(); if(score != undefined) { if(score < settings.minBenis) { if(settings.autoRateSkippedUploads) { rateUpload(); } nextUpload(); console.log("Skipped because of Benis: " + score); return true; } } } let skipUploadByAverageBenis = function() { let score = getAverageBenis(); if(score != undefined) { if(getAverageBenis() < settings.minAverageBenis) { if(settings.autoRateSkippedUploads) { rateUpload(); } nextUpload(); console.log("Skipped because of average Benis: " + score); return true; } } } let skipUploadByUserRank = function() { let rank = getUserRank(); for(let i = 0; i < settings.blockedUserRanks.length; i++) { if(rank == settings.blockedUserRanks[i]) { if(settings.autoRateSkippedUploads) { rateUpload(); } nextUpload(); console.log("Skipped because of Userrank: " + settings.blockedUserRanks[i]); return true; } } } let checkRated ; let url = "https://pr0gramm.com"; $(document).ready(function() { readSettings(); createFilter(); setInterval(function() { checkURL(window.location.href); },500); });
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址