steamutils 1.2.94 → 1.2.95

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. package/SteamClient.js +57 -17
  2. package/index.js +5 -1
  3. package/package.json +1 -1
package/SteamClient.js CHANGED
@@ -95,6 +95,7 @@ function SteamClient({
95
95
  autoPlay = false,
96
96
  autoAcceptTradeRequest = false,
97
97
  autoReconnect = true,
98
+ MAX_GAME_PLAY = 10
98
99
  }) {
99
100
  const steamClient = new SteamUser()
100
101
  let prime = null
@@ -106,6 +107,7 @@ function SteamClient({
106
107
  let lastTimePartyRegister = 0
107
108
  let lastTimePartySearch = 0
108
109
  const appsPlayed = []
110
+ const ownedApps = []
109
111
 
110
112
  const onAnyCallbacks = []
111
113
 
@@ -339,20 +341,22 @@ function SteamClient({
339
341
  }
340
342
 
341
343
  async function gamePlay() {
342
- let ownedApps = null
343
- for (let i = 0; i < 10; i++) {
344
- if (!Array.isArray(ownedApps)) {
345
- ownedApps = Array.isArray(steamClient.licenses) ? steamClient.licenses.map(({package_id}) => package_id) : (await (new SteamUtils(await getCookiesWait())).getDynamicStoreUserData())?.rgOwnedApps
346
- await sleep(1000)
347
- } else {
344
+ let ownedApps = []
345
+ for (let i = 0; i < 5; i++) {
346
+ ownedApps = await getUserOwnedApps()
347
+ if (ownedApps.length) {
348
348
  break
349
349
  }
350
350
  }
351
-
352
- ownedApps = _.shuffle(ownedApps || [])
353
- ownedApps.length = Math.min(ownedApps.length, 10)
354
- _.remove(ownedApps, 730)
355
- gamesPlayed([...ownedApps, 730])
351
+ if (!ownedApps.length) {
352
+ gamesPlayed(730)
353
+ } else {
354
+ ownedApps = ownedApps.map(({appid}) => appid)
355
+ ownedApps = _.shuffle(ownedApps)
356
+ ownedApps.length = Math.min(ownedApps.length, MAX_GAME_PLAY)
357
+ ownedApps = _.sortBy(ownedApps, app => app == 730 ? 1 : -1)
358
+ gamesPlayed(ownedApps)
359
+ }
356
360
  }
357
361
 
358
362
  async function autoGamePlay() {
@@ -982,10 +986,7 @@ function SteamClient({
982
986
  }, [5 * 60000, 10 * 60000], 'autoRequestFreeLicense')
983
987
  }
984
988
  if (autoPlay) {
985
- await sleep(10000)
986
- onCookie(function () {
987
- autoGamePlay()
988
- })
989
+ autoGamePlay()
989
990
  }
990
991
  },
991
992
  async user(steamId, data) {
@@ -1154,7 +1155,7 @@ function SteamClient({
1154
1155
  SenderAddress,
1155
1156
  SenderName
1156
1157
  })
1157
- }
1158
+ },
1158
1159
  }
1159
1160
 
1160
1161
  const _chatEvents = {
@@ -1667,6 +1668,44 @@ function SteamClient({
1667
1668
  steamClient.sendToGC(730, 767, {}, Buffer.alloc(0))
1668
1669
  }
1669
1670
 
1671
+ async function getUserOwnedApps(steamId) {
1672
+ steamId = (steamId ? new SteamID(steamId) : steamClient.steamID).getSteamID64()
1673
+ const isMe = steamId === steamClient.steamID.getSteamID64();
1674
+ if (isMe && ownedApps.length) {
1675
+ return ownedApps
1676
+ }
1677
+ const result = await steamClient.getUserOwnedApps(steamId)
1678
+ if (isMe && Array.isArray(result.apps)) {
1679
+ ownedApps.length = 0
1680
+ ownedApps.push(...result.apps)
1681
+ }
1682
+ return result.apps || []
1683
+ const resultExample = {
1684
+ app_count: 22,
1685
+ apps: [
1686
+ {
1687
+ content_descriptorids: [],
1688
+ appid: 208030,
1689
+ name: "Moon Breakers",
1690
+ playtime_2weeks: null,
1691
+ playtime_forever: 0,
1692
+ img_icon_url: "",
1693
+ has_community_visible_stats: null,
1694
+ playtime_windows_forever: 0,
1695
+ playtime_mac_forever: 0,
1696
+ playtime_linux_forever: 0,
1697
+ rtime_last_played: 0,
1698
+ capsule_filename: null,
1699
+ sort_as: null,
1700
+ has_workshop: null,
1701
+ has_market: null,
1702
+ has_dlc: null,
1703
+ has_leaderboards: null
1704
+ },
1705
+ ]
1706
+ }
1707
+ }
1708
+
1670
1709
  return {
1671
1710
  init,
1672
1711
  partySearch,
@@ -1822,7 +1861,8 @@ function SteamClient({
1822
1861
  })
1823
1862
  }
1824
1863
  steamClient.uploadRichPresence(appid, richPresence)
1825
- }
1864
+ },
1865
+ getUserOwnedApps
1826
1866
  }
1827
1867
  }
1828
1868
 
package/index.js CHANGED
@@ -5849,7 +5849,11 @@ class SteamUser {
5849
5849
 
5850
5850
  static parseTradeURL(tradeURL) {
5851
5851
  try {
5852
- const tradeURLParams = url.parse(tradeURL).query.split('&').reduce((accumulator, currentValue, index) => ({
5852
+ let search = new URL(tradeURL).search;
5853
+ if(search.startsWith("?")){
5854
+ search = search.substring(1)
5855
+ }
5856
+ const tradeURLParams = search.split('&').reduce((accumulator, currentValue, index) => ({
5853
5857
  ...accumulator, [currentValue.split('=')[0]]: currentValue.split('=')[1]
5854
5858
  }), {})
5855
5859
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "steamutils",
3
- "version": "1.2.94",
3
+ "version": "1.2.95",
4
4
  "main": "index.js",
5
5
  "dependencies": {
6
6
  "axios": "^1.5.1",