🏠 Home 

Greasy Fork is available in English.

Steam Auto Queue

自动探索Steam队列,有延时,可暂停

  1. // ==UserScript==
  2. // @name Steam Auto Queue
  3. // @namespace SteamAutoQueue@Byzod.user.js
  4. // @description 自动探索Steam队列,有延时,可暂停
  5. // @include /^https?:\/\/store\.steampowered\.com\/((?:agecheck\/)?app\/\d+|explore)/
  6. // @version 1
  7. // @grant none
  8. // jshint esversion:6
  9. // ==/UserScript==
  10. // Settings
  11. var AUTO_DISCOVERY_QUEUE = true;
  12. var AUTO_DISCOVERY_QUEUE_DELAY = 0;
  13. var AUTO_DISCOVERY_QUEUE_STOPPED_TITLE_PREFIX = "【已停止梦游】";
  14. var AUTO_DISCOVERY_QUEUE_WITHOUT_CARD_DROP = false;
  15. // Settings End
  16. // Auto discovery queue
  17. if(AUTO_DISCOVERY_QUEUE){
  18. let timeoutId = setTimeout(AutoQueue, AUTO_DISCOVERY_QUEUE_DELAY);
  19. document.addEventListener(
  20. "keydown",
  21. (e) => {
  22. e.preventDefault();
  23. e.stopPropagation();
  24. document.title = AUTO_DISCOVERY_QUEUE_STOPPED_TITLE_PREFIX + document.title;
  25. setTimeout(
  26. ()=>{
  27. document.title = document.title.replace(AUTO_DISCOVERY_QUEUE_STOPPED_TITLE_PREFIX,"")
  28. },
  29. 1000
  30. );
  31. clearTimeout(timeoutId);
  32. console.log("Auto Queue Stopped");
  33. },
  34. {capture:true, once:true}
  35. );
  36. }
  37. // Auto browse discovery queue
  38. function AutoQueue(){
  39. var discoveryQueueWinterSaleCardsHeaderSubText = document.getElementsByClassName('subtext');
  40. var refreshQueueBtn = document.getElementById('refresh_queue_btn');
  41. if (refreshQueueBtn != null
  42. && (AUTO_DISCOVERY_QUEUE_WITHOUT_CARD_DROP
  43. || ( discoveryQueueWinterSaleCardsHeaderSubText.length > 0
  44. && /^.+\s\d\s.+$/.test(discoveryQueueWinterSaleCardsHeaderSubText[0].innerHTML)
  45. )
  46. )
  47. ){
  48. setTimeout(()=>{refreshQueueBtn.click()}, 500);
  49. }
  50. var nextInQueueForm = document.getElementById('next_in_queue_form');
  51. if (nextInQueueForm !== null){
  52. nextInQueueForm.submit();
  53. console.log("SteamTemp: nextInQueueForm submit");
  54. }
  55. var ageYear = document.getElementById('ageYear');
  56. if (ageYear !== null) {
  57. ageYear.selectedIndex = 77;
  58. DoAgeGat###bmit();
  59. console.log("SteamTemp: ageYear submit");
  60. }else{
  61. console.log("SteamTemp: ageYear not found");
  62. }
  63. var appId = location.href.match(/app\/(\d+)/)[1];
  64. if(document.title === "Site Error"){
  65. $J.post("/app/7", { sessionid: g_sessionID, appid_to_clear_from_queue: appId });
  66. console.warn("Locked game: " + appId + " removed.");
  67. window.location = "http://store.steampowered.com"
  68. }
  69. }