Tom

Tom

Steam Auto Discovery Queue (Available in the 2023 Summer Sale)

You can obtain event cards through the browsing exploration queue during each Steam sale. Clicking each time can be time-consuming, so using a script can quickly go through the queue. This is available in the 2023 Summer Sale.

A special tip: If you encounter warnings like "This game is not available in your country," you can adjust it in the settings by filtering out adult content, and you won't see similar prompts in the queue in the future.

  • Login to Steam on the Chrome browser.
  • Open the exploration queue page.
  • Press "F12" to open the console.
  • Find the "Console" tab.
  • Copy the code and press enter to run it.
(function _exec(){
var appids, 
    running = true, 
    queueNumber, 
    progressDialog = ShowAlertDialog('Exploring', $J('<div/>').append($J('<div/>', {'class': 'waiting_dialog_throbber'}) ).append( $J('<div/>', {'id': 'progressContainer'}).text('Getting progress...') ), 'Stop').done(abort);
function abort(){
  running = false;
  progressDialog.Dismiss();
}
function retry(){
  abort();
  ShowConfirmDialog('Error', 'Retry?', 'Retry', 'Give up').done(_exec)
}
function clearApp(){
  if(!running)
    return;
  showProgress();
  var appid = appids.shift();
  !appid ? generateQueue() : $J.post( appids.length ? '/app/' + appid : '/explore/next/', {sessionid: g_sessionID, appid_to_clear_from_queue: appid} ).done(clearApp).fail(retry); 
}
function generateQueue(){
  running && $J.post('/explore/generatenewdiscoveryqueue', {sessionid: g_sessionID, queuetype: 0}).done(beginQueue).fail(retry);
}
function beginQueue(){
  if(!running)
    return;
  $J.get('/explore/').done(function(htmlText){
    var cardInfo = htmlText.match(/<div class="subtext">\D+(\d)\D+<\/div>/);
    if( !cardInfo ){
      abort();
      ShowAlertDialog('Complete','All 3 rounds of exploration queue completed');
      return;
    }
    var matchedAppids = htmlText.match(/0,\s+(\[.*\])/);
    if( !matchedAppids ){
      retry();
      return;
    }
    appids = JSON.parse(matchedAppids[1]);
    queueNumber = cardInfo[1];
    appids.length == 0 ? generateQueue() : clearApp();
    showProgress();
  })
}
function showProgress(){
  $J('#progressContainer').html( '<br>' + queueNumber + ' queues remaining, ' + appids.length + ' games remaining in the current queue' );
}
beginQueue();
}())
Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.