// ==UserScript== // @name Humble Bundle - Steam Links Adder // @icon https://humblebundle-a.akamaihd.net/static/hashed/47e474eed38083df699b7dfd8d29d575e3398f1e.ico // @namespace Royalgamer06 // @version 1.1.1 // @description Adds steam links to Humble Bundle games (https://greasyfork.org/en/scripts/26273-steam-store-game-owned-checker COMPATIBLE!) // @author Royalgamer06 // @include *://www.humblebundle.com/* // @grant GM_xmlhttpRequest // @run-at document-idle // @connect api.steampowered.com // @require http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.js // @downloadURL none // ==/UserScript== // ==Configuration== var selectors = ["em", ".entity-title", ".deal-title", ".product-title > h2", ".desktop:has(.hb-steam) .dd-image-box-caption", ".humble-original-title", ".game-name > h4", ".sr-key-heading > span"]; // ==/Configuration== // ==Code== this.$ = this.jQuery = jQuery.noConflict(true); var applist = []; var selector = selectors.join(":not(.steamified):not(a):not(:has(a)), ") + ":not(.steamified):not(a):not(:has(a))"; GM_xmlhttpRequest({ method: "GET", url: "https://api.steampowered.com/ISteamApps/GetAppList/v2/", onload: function(response) { applist = JSON.parse(response.responseText).applist.apps; $(document).on("contentchanged", selector, function() { steamify(this); }).ready(function() { var domwatcher = setInterval(function() { $(selector).each(function() { steamify(this); }, 100); }); }); } }); function steamify(titleElem) { $(titleElem).addClass("steamified"); setTimeout(function() { var title = $(titleElem).text().toLowerCase().replace(/\(early access\)|\(pre\-order\)|\:|\-|\–|\\|\/|\™|\®| |\'|\.|\?|\!/g, "").trim(); var obj = applist.filter(function(v) { return v.name.toLowerCase().replace(/\:|\-|\–|\\|\/|\™|\®| |\'|\.|\?|\!/g, "").trim() == title; })[0]; if (obj !== undefined) { var appID = obj.appid; $(titleElem).replaceWith("" + titleElem.outerHTML + ""); } }, 0); } // ==/Code==