Skip to content

Instantly share code, notes, and snippets.

@xPaw
Last active April 22, 2026 02:24
Show Gist options
  • Select an option

  • Save xPaw/73f8ae2031b4e528abf7 to your computer and use it in GitHub Desktop.

Select an option

Save xPaw/73f8ae2031b4e528abf7 to your computer and use it in GitHub Desktop.
⚠ This script has been integrated into SteamDB browser extension!
// ==UserScript==
// @name Steam Queue Auto Discoverer
// @description Discover the Steam queue three times to get the sale cards
// @version 2.3.0
// @namespace https://gist.github.com/xPaw/73f8ae2031b4e528abf7
// @icon https://store.steampowered.com/favicon.ico
// @match https://store.steampowered.com/explore*
// @grant none
// ==/UserScript==
var DiscoveryQueueModal, GenerateQueue = function( queueNumber )
{
if( DiscoveryQueueModal )
{
DiscoveryQueueModal.Dismiss();
}
DiscoveryQueueModal = ShowBlockingWaitDialog( 'Generating the queue...', 'Generating new discovery queue #' + ++queueNumber );
jQuery.post( 'https://store.steampowered.com/explore/generatenewdiscoveryqueue', { sessionid: g_sessionID, queuetype: 0 } ).done( function( data )
{
var requests = [], done = 0, errorShown;
for( var i = 0; i < data.queue.length; i++ )
{
var request = jQuery.post( 'https://store.steampowered.com/app/10', { appid_to_clear_from_queue: data.queue[ i ], sessionid: g_sessionID } );
request.done( function()
{
if( errorShown )
{
return;
}
DiscoveryQueueModal.Dismiss();
DiscoveryQueueModal = ShowBlockingWaitDialog( 'Exploring the queue...', 'Request ' + ++done + ' of ' + data.queue.length );
} );
request.fail( function()
{
if( errorShown )
{
return;
}
errorShown = true;
DiscoveryQueueModal.Dismiss();
DiscoveryQueueModal = ShowBlockingWaitDialog( 'Error', 'Failed to clear queue item #' + ++done + '. Will try again soon.' );
} );
requests.push( request );
}
var callback = function()
{
DiscoveryQueueModal.Dismiss();
if( queueNumber < 3 )
{
GenerateQueue( queueNumber );
}
else
{
DiscoveryQueueModal = ShowConfirmDialog( 'Done', 'Queue has been explored ' + queueNumber + ' times', 'Reload the page' ).done( function() {
ShowBlockingWaitDialog( 'Reloading the page' );
window.location.reload();
});
}
};
jQuery.when.apply( jQuery, requests ).then( callback, callback );
} ).fail( function()
{
setTimeout( () => GenerateQueue( queueNumber - 1 ), 1000 );
DiscoveryQueueModal.Dismiss();
DiscoveryQueueModal = ShowBlockingWaitDialog( 'Error', 'Failed to generate new queue #' + queueNumber + '. Trying again in a second.' );
} );
};
var buttonContainer = document.createElement( 'div' );
buttonContainer.className = 'discovery_queue_customize_ctn';
buttonContainer.innerHTML = '<div class="btnv6_blue_hoverfade btn_medium" id="js-cheat-queue"><span>Cheat the queue</span></div><span>Discover the queue three times to get the sale cards</span>';
var container = document.querySelector( '.discovery_queue_customize_ctn' );
container.parentNode.insertBefore( buttonContainer, container );
var button = document.getElementById( 'js-cheat-queue' );
button.addEventListener( 'click', function( )
{
GenerateQueue( 0 );
container.parentNode.removeChild( buttonContainer );
}, false );
@paolareyes

Copy link
Copy Markdown

Still working for me, gg

@hill123455

Copy link
Copy Markdown

Ya still working, <3

@defaltadmin

Copy link
Copy Markdown

Great code! Is it possible to include a line at the top that shows instructions? I'm not familiar with coding so it took me a while to piece together the information from comments from here and reddit. Just 3 lines of instructions such as

  1. Be on the Explore page in browser
  2. Press Ctrl + Shift + J
  3. Paste this code and hit enter
  4. The button "Start queue" will change to "Cheat queue". Click it.

That's all.

@RudeySH

RudeySH commented Sep 28, 2019

Copy link
Copy Markdown

Is there any way to disable this feature? Just like there are many options to disable other features, I'd like to see an option to disable this.

@leoffx

leoffx commented Dec 25, 2019

Copy link
Copy Markdown

The link to the Explore page is https://store.steampowered.com/explore/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment