您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Makes your life easier!
// ==UserScript== // @name SGTools Giveaways Helper (Custom by Barokai) // @icon https://cdn.steamgifts.com/img/favicon.ico // @namespace *://www.sgtools.info/ // @version 1.7.7 // @description Makes your life easier! // @author Barokai | www.loigistal.at (Enhanced version of KnSYS which is based on a work from Mole & Archi. See below) // @description Enhanced create giveaway feature - added 3 buttons for 3 giveaway groups (BundleQuest, RPGTreasury, Unlucky-7) which will be chosen automatically on click. // @homepage https://github.com/Barokai/sgtools-giveaways-helper-custom/ // @license https://github.com/Barokai/sgtools-giveaways-helper-custom/blob/master/LICENSE // @match *://www.steamgifts.com/* // @grant GM_addStyle // @run-at document-end // ==/UserScript== /* Based on SGTools Giveaways Helper by KnSYS * which is * Based on Touhou Giveaways Helper * https://github.com/Aareksio/touhou-giveaways-helper * authors Mole & Archi * * MIT License */ /* TODO Barokai: * set default duration per group * set default description per group (eg. unlucky-7: open for gifters or not, bundlequest: free/discount/premium,..) */ (function() { 'use strict'; var SGTOOLS_SITE = 'https://www.sgtools.info/'; var SGTOOLS_TIME = 2 * 24 * 60 * 60 * 1000; // 2 days recommended var DEFAULT_LEVEL = 0; var DEFAULT_DESCRIPTION = "**Good Luck!**"; var DISCLAIMER = "\n\n**Please notice**:\nThere is a very small chance that the key was already redeemed (happens if i forget to note that) - if thats the case, write a comment/message and I’ll send you a new key/steamgift!"; var GROUPS = { "none": { name: "", level: 1, description: DEFAULT_DESCRIPTION + DISCLAIMER }, "boxofkittens": { name: "Box of Kittens!", level: DEFAULT_LEVEL, description: DEFAULT_DESCRIPTION + "\n\nComment with a funny gif ;)" + DISCLAIMER }, "bundlequest": { name: "Bundle Quest", level: DEFAULT_LEVEL, description: DEFAULT_DESCRIPTION + "\n\n*This Giveaway is a normal/free/XX% discount giveaway.*" + DISCLAIMER }, "rpgtreasury": { name: "RPG Treasury", level: DEFAULT_LEVEL, description: DEFAULT_DESCRIPTION + DISCLAIMER }, "unlucky7": { name: "Unlucky-7", level: DEFAULT_LEVEL, description: DEFAULT_DESCRIPTION + "\n\nOpen for gifters, but please make sure that your [gift difference](http://i.imgur.com/69WNFSw.png) is above 7.0 or higher.\nYou can check yours [here](https://www.steamgifts.com/group/WWF2y/unlucky-7/users)." + DISCLAIMER } }; var current_path; if (/steamgifts\.com/.exec(window.location.href)) { current_path = window.location.pathname.split('/'); removeFromArray(current_path, ""); } if (current_path) { if (current_path.length !== 0 && current_path[0] === 'giveaways' && current_path[1] === 'new') { addStyles(); giveawayNew(); } else if (current_path.length !== 0 && current_path[0] === 'giveaway') { var id = current_path[1]; console.log(id); getProtectedStatus(id); } } function getProtectedStatus(id) { var isInviteOnly = $('.featured__column--invite-only').length; if (isInviteOnly) { var url = SGTOOLS_SITE + 'api/isSGTProtected/' + id; $.getJSON(url + "?callback=?", function(result) { var isProtected = result["protected"]; var toAppendValid = $(".sidebar__entry-insert"); var toAppendError = $(".sidebar__error"); if (isProtected) { toAppendValid.html('<i class="fa fa-lock"></i> Enter SGTools Protected Giveaway'); toAppendError.html('<i class="fa fa-lock"></i> ' + toAppendError.html()); toAppendValid.css({ 'border-color': "#93BBD3 #699DBC #427BA4 #70ACC8", 'background-image': 'linear-gradient(#A7D1EE 0%, #8AC4DF 50%, #6AA2C9 100%)', 'color': 'inherit' }); } else { toAppendValid.html('<i class="fa fa-unlock"></i> ' + toAppendValid.html()); } }); } } function giveawayNew() { let getGroupButtons = function() { var buttonMarkup = ""; $.each(GROUPS, function(key, g) { //var groupname = g.name !== "" ? " for " + g.name : ""; var groupname = g.name || "default"; var icon = groupname !== "default" ? "group" : "gift"; var id = "sgToolsBtn_" + key; //buttonMarkup += ' <div class="form__row__indent"><div class="form__submit-button" id="' + id + '"><i class="fa fa-fast-forward"></i> Fill default settings' + groupname + '</div> </div>'; buttonMarkup += ' <div class="form__submit-button" id="' + id + '"><i class="fa fa-'+ icon +'"></i> ' + groupname + '</div> '; }); return buttonMarkup; }; let bindOnClick = function() { $.each(GROUPS, function(key, group) { var id = "sgToolsBtn_" + key; $("#" + id).click(function() { applySettings(group); console.log("clicked " + (group.name || "default" ) + " button"); }); }); }; $(".form__rows").prepend( '<div class="form__row form__row--sgtools-giveaway-helper">' + ' <div class="form__heading">' + ' <div class="form__heading__number">0.</div>' + ' <div class="form__heading__text">SGTools Giveaway</div>' + ' </div>' + getGroupButtons() + '</div>'); bindOnClick(); let applyGiveawayTypeKey = function() { var privateButton = $("div[data-checkbox-value='key']"); if (!privateButton.hasClass('is-selected')) { privateButton.trigger("click"); } }; let applyDates = function() { let startingDate = new Date(); let endingDate = new Date(startingDate.getTime() + SGTOOLS_TIME + (60 * 60 * 1000)); // Extra 1 hour $("input[name='start_time']").val(formatDate(startingDate)); $("input[name='end_time']").val(formatDate(endingDate)); }; let applyRegionRestrictions = function() { $("div[data-checkbox-value='0']").trigger("click"); }; var applyPrivate = function(group) { if (group.name) { var privateButton = $("div[data-checkbox-value='invite_only']"); if (!privateButton.hasClass('is-selected')) { privateButton.trigger("click"); } } }; let scrollToGroup = function(group) { var container = $('.form__groups'), scrollTo = group; container.scrollTop( scrollTo.offset().top - container.offset().top + container.scrollTop() ); }; let applyGroup = function(group) { if (group.name) { var privateButton = $("div[data-checkbox-value='groups']"); if (!privateButton.hasClass('is-selected')) { privateButton.trigger("click"); } var group_form = $('div.form__group__details > div.form__group__name:contains(' + group.name + ')'); group_form.click(); scrollToGroup(group_form); } }; let applyDescription = function(group) { let descarea = $("textarea[name='description']"); descarea.val(group.description); }; let applyLevel = function(group) { let levelValue = $("input[name='contributor_level']"); levelValue.val(group.level); $(".ui-slider-range").css('width', group.level * 10 + "%"); $(".ui-slider-handle").css('left', group.level * 10 + "%"); if (group.level > 0) { $(".form__input-description--level").removeClass("is-hidden"); $(".form__input-description--no-level").addClass("is-hidden"); $("span.form__level").text("level " + group.level); } else { $(".form__input-description--no-level").removeClass("is-hidden"); $(".form__input-description--level").addClass("is-hidden"); } }; let reset = function() { $(".form__checkbox.is-disabled").show(); $('div.form__group.form__group--steam.is-selected').click(); // deselect all previously selected groups $("div[data-checkbox-value='everyone']").click(); // set "who can enter" to everyone var group = { level: 0 }; applyLevel(group); // reset level to 0 console.log("resetted checkboxes/groups/level"); }; let applySettings = function(group) { reset(); applyGiveawayTypeKey(); applyDates(); applyRegionRestrictions(); applyPrivate(group); applyDescription(group); applyLevel(group); applyGroup(group); // hides not used checkboxes $(".form__checkbox.is-disabled").hide(); // focus input to enter game name $(".js__autocomplete-name").focus(); }; } /* Helpers */ function removeFromArray(arr, item) { for (let i = arr.length; i--;) { if (arr[i] === item) { arr.splice(i, 1); } } } function formatDate(date) { // Fixed by Archi for all SG weird dates, do not touch // Fix hours let hours = date.getHours(); let ampm = ''; if (hours < 12) { ampm = 'am'; if (hours === 0) { hours = 12; } } else { ampm = 'pm'; if (hours !== 12) { hours = hours % 12; } } // Fix minutes let minutes = date.getMinutes(); if (minutes < 10) { minutes = '0' + minutes; } // Return result return $.datepicker.formatDate('M d, yy', date) + " " + hours + ":" + minutes + " " + ampm; } })(); /*jshint multistr: true */ function addStyles() { GM_addStyle("\ input[type=text], textarea{\ -webkit-transition: all 0.30s ease-in-out;\ -moz-transition: all 0.30s ease-in-out;\ -ms-transition: all 0.30s ease-in-out;\ -o-transition: all 0.30s ease-in-out;\ outline: none;\ padding: 3px 0px 3px 3px;\ margin: 5px 1px 3px 0px;\ border: 1px solid #DDDDDD;\ } \ input[type=text]:focus, textarea:focus {\ box-shadow: 0 0 5px rgba(81, 203, 238, 1);\ padding: 3px 0px 3px 3px;\ margin: 5px 1px 3px 0px;\ border: 1px solid rgba(81, 203, 238, 1) !important; \ }"); }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址