steamutils 1.1.24 → 1.1.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/steamutils.iml +1 -1
- package/.idea/vcs.xml +1 -1
- package/example.js +4 -89
- package/index.js +9 -3
- package/package.json +1 -1
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
package/.idea/steamutils.iml
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
<module type="WEB_MODULE" version="4">
|
3
3
|
<component name="NewModuleRootManager">
|
4
4
|
<content url="file://$MODULE_DIR$">
|
5
|
-
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
6
5
|
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
6
|
+
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
7
7
|
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
8
8
|
</content>
|
9
9
|
<orderEntry type="inheritedJdk" />
|
package/.idea/vcs.xml
CHANGED
package/example.js
CHANGED
@@ -11,94 +11,9 @@ import * as cherrio from "cheerio";
|
|
11
11
|
// const user = new SteamUser(loginResult.cookie)
|
12
12
|
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
function CookieManager(cookie) {
|
19
|
-
const _CookieObj = {}
|
20
|
-
if (typeof cookie === "string") {
|
21
|
-
cookie.split(";").forEach(function (_cookie) {
|
22
|
-
setCookie(_cookie.split("=")[0].trim(), _cookie.split("=")[1].trim())
|
23
|
-
})
|
24
|
-
} else if (Array.isArray(cookie)) {
|
25
|
-
cookie.forEach(function (_cookie) {
|
26
|
-
if (typeof _cookie === "string") {
|
27
|
-
setCookie(_cookie.split("=")[0].trim(), _cookie.split("=")[1].trim())
|
28
|
-
} else {
|
29
|
-
//to do
|
30
|
-
}
|
31
|
-
})
|
32
|
-
} else if (typeof cookie === "object" && Object.keys(cookie).length) {
|
33
|
-
for (const key in cookie) {
|
34
|
-
setCookie(key, cookie[key])
|
35
|
-
}
|
36
|
-
} else {
|
37
|
-
//to do
|
38
|
-
}
|
39
|
-
|
40
|
-
function setCookie(name, value) {
|
41
|
-
const existedKey = Object.keys(_CookieObj).find(k => k.toLowerCase() === name.toLowerCase())
|
42
|
-
if (existedKey) {
|
43
|
-
delete _CookieObj[existedKey]
|
44
|
-
}
|
45
|
-
_CookieObj[name] = value
|
46
|
-
}
|
47
|
-
|
48
|
-
function setCookies(cookies) {
|
49
|
-
if (Array.isArray(cookies)) {
|
50
|
-
for (let cookie of cookies) {
|
51
|
-
if (typeof cookie === "string") {
|
52
|
-
cookie = cookie.split(";")[0].trim()
|
53
|
-
setCookie(cookie.split("=")[0].trim(), cookie.split("=")[1].trim())
|
54
|
-
}
|
55
|
-
}
|
56
|
-
}
|
57
|
-
}
|
58
|
-
|
59
|
-
function getCookie(name) {
|
60
|
-
const existedKey = Object.keys(_CookieObj).find(k => k.toLowerCase() === name.toLowerCase())
|
61
|
-
return _CookieObj[existedKey]
|
62
|
-
}
|
63
|
-
|
64
|
-
|
65
|
-
function toString() {
|
66
|
-
return Object.keys(_CookieObj).map(k => `${k}=${_CookieObj[k]}`).join(';')
|
67
|
-
}
|
68
|
-
|
69
|
-
return {
|
70
|
-
setCookie,
|
71
|
-
setCookies,
|
72
|
-
getCookie,
|
73
|
-
toString,
|
74
|
-
}
|
75
|
-
}
|
76
|
-
|
77
|
-
const cookiesObj = new CookieManager("steamLoginSecure=76561199490333788%7C%7CeyAidHlwIjogIkpXVCIsICJhbGciOiAiRWREU0EiIH0.eyAiaXNzIjogInI6MEQyRF8yMjhEQTcxQV9DOEZGRCIsICJzdWIiOiAiNzY1NjExOTk0OTAzMzM3ODgiLCAiYXVkIjogWyAid2ViIiwgIm1vYmlsZSIgXSwgImV4cCI6IDE2ODUwNjY0MzgsICJuYmYiOiAxNjc2MzQwMDAwLCAiaWF0IjogMTY4NDk4MDAwMCwgImp0aSI6ICIwRDJCXzIyOTZFMUJGXzUyNEU2IiwgIm9hdCI6IDE2ODQzODUwODksICJydF9leHAiOiAxNzAyNzQzMDU3LCAicGVyIjogMCwgImlwX3N1YmplY3QiOiAiMTQuMjMyLjIxNC4xODYiLCAiaXBfY29uZmlybWVyIjogIjE0LjIzMi4yMTQuMTg2IiB9.t884pdEgtcWk8Apy1HrzhQixy0u-RQFM-qb3JuaYMZjCwTRXdCnOZFbCxFe2JesC5xfFttHe4ufqtyizcEmVDA")
|
78
|
-
|
79
|
-
let url = `my/tradeoffers/privacy`
|
80
|
-
while (true) {
|
81
|
-
const response = await axios({
|
82
|
-
baseURL: "https://steamcommunity.com",
|
83
|
-
url,
|
84
|
-
validateStatus: () => true,
|
85
|
-
headers: {
|
86
|
-
cookie: cookiesObj.toString()
|
87
|
-
},
|
88
|
-
maxRedirects: 0,
|
89
|
-
})
|
90
|
-
cookiesObj.setCookies(response.headers["set-cookie"])
|
91
|
-
if (response.status === 302) {
|
92
|
-
url = response.headers.location
|
93
|
-
console.log(`Redirect to ${url}`)
|
94
|
-
} else if (response.status === 200) {
|
95
|
-
const $ = cherrio.load(response.data)
|
96
|
-
const trade_offer_access_url = $('#trade_offer_access_url').attr('value')
|
97
|
-
console.log(trade_offer_access_url);
|
98
|
-
return response
|
99
|
-
} else {
|
100
|
-
console.log(response.status);
|
101
|
-
}
|
102
|
-
}
|
14
|
+
let cookies = `timezoneOffset=25200,0; _ga=GA1.2.187887660.1678676715; browserid=2823232875076552481; strInventoryLastContext=730_2; recentlyVisitedAppHubs=730%2C1859270; sessionid=83e614b63d78d0d2b4d93680; steamCountry=VN%7C3c7bd5df99a265a3e5102a225d1ab62d; steamLoginSecure=76561199040402348%7C%7CeyAidHlwIjogIkpXVCIsICJhbGciOiAiRWREU0EiIH0.eyAiaXNzIjogInI6MEQwM18yMjM1ODQ2MF8xM0YyNCIsICJzdWIiOiAiNzY1NjExOTkwNDA0MDIzNDgiLCAiYXVkIjogWyAid2ViIiBdLCAiZXhwIjogMTY4NTA2NTUzMiwgIm5iZiI6IDE2NzYzMzc4MDcsICJpYXQiOiAxNjg0OTc3ODA3LCAianRpIjogIjBEMkRfMjI5NkUxQkNfQzNERjUiLCAib2F0IjogMTY3ODY3NjgzMywgInJ0X2V4cCI6IDE2OTY4NjYxMDEsICJwZXIiOiAwLCAiaXBfc3ViamVjdCI6ICIxNC4yMzIuMjE0LjE4NiIsICJpcF9jb25maXJtZXIiOiAiMTQuMjMyLjIxNC4xODYiIH0.AhLuV9mQzv2j2CEgBe5ZpGyUqpHXogHFClfdsd3Ve7-Dt4aHagrJhOsgLewh1gmkO5ZewAN4FO4Y5S3D7u4FCw; webTradeEligibility=%7B%22allowed%22%3A1%2C%22allowed_at_time%22%3A0%2C%22steamguard_required_days%22%3A15%2C%22new_device_cooldown_days%22%3A0%2C%22time_checked%22%3A1684981543%7D; tsTradeOffersLastRead=1684321053`;
|
15
|
+
const user = new SteamUser("timezoneOffset=25200,0; _ga=GA1.2.187887660.1678676715; browserid=2823232875076552481; strInventoryLastContext=730_2; recentlyVisitedAppHubs=730%2C1859270; sessionid=83e614b63d78d0d2b4d93680; steamCountry=VN%7C3c7bd5df99a265a3e5102a225d1ab62d; steamLoginSecure=76561199040402348%7C%7CeyAidHlwIjogIkpXVCIsICJhbGciOiAiRWREU0EiIH0.eyAiaXNzIjogInI6MEQwM18yMjM1ODQ2MF8xM0YyNCIsICJzdWIiOiAiNzY1NjExOTkwNDA0MDIzNDgiLCAiYXVkIjogWyAid2ViIiBdLCAiZXhwIjogMTY4NTA2NTUzMiwgIm5iZiI6IDE2NzYzMzc4MDcsICJpYXQiOiAxNjg0OTc3ODA3LCAianRpIjogIjBEMkRfMjI5NkUxQkNfQzNERjUiLCAib2F0IjogMTY3ODY3NjgzMywgInJ0X2V4cCI6IDE2OTY4NjYxMDEsICJwZXIiOiAwLCAiaXBfc3ViamVjdCI6ICIxNC4yMzIuMjE0LjE4NiIsICJpcF9jb25maXJtZXIiOiAiMTQuMjMyLjIxNC4xODYiIH0.AhLuV9mQzv2j2CEgBe5ZpGyUqpHXogHFClfdsd3Ve7-Dt4aHagrJhOsgLewh1gmkO5ZewAN4FO4Y5S3D7u4FCw; webTradeEligibility=%7B%22allowed%22%3A1%2C%22allowed_at_time%22%3A0%2C%22steamguard_required_days%22%3A15%2C%22new_device_cooldown_days%22%3A0%2C%22time_checked%22%3A1684981543%7D; tsTradeOffersLastRead=1684321053")
|
16
|
+
const result = await user.getInventory(730)
|
17
|
+
result.assets.forEach(r => console.log(r))
|
103
18
|
|
104
19
|
})()
|
package/index.js
CHANGED
@@ -1490,7 +1490,8 @@ class SteamUser {
|
|
1490
1490
|
|
1491
1491
|
let redirectURL = null
|
1492
1492
|
let response = null
|
1493
|
-
let retry =
|
1493
|
+
let retry = 10
|
1494
|
+
let checkTooManyRequest = false
|
1494
1495
|
while (--retry) {
|
1495
1496
|
const config = {
|
1496
1497
|
baseURL: SteamcommunityURL,
|
@@ -1511,8 +1512,10 @@ class SteamUser {
|
|
1511
1512
|
while ((diff = (now = new Date().getTime()) - requestTimestamp) < 500) {
|
1512
1513
|
await sleep(diff + 10)
|
1513
1514
|
}
|
1514
|
-
|
1515
|
-
|
1515
|
+
if (checkTooManyRequest) {
|
1516
|
+
while ((diff = (now = new Date().getTime()) - tooManyRequestTimestamp) < 30000) {
|
1517
|
+
await sleep(diff + 10)
|
1518
|
+
}
|
1516
1519
|
}
|
1517
1520
|
requestTimestamp = now
|
1518
1521
|
response = await axios.request(config)
|
@@ -1526,6 +1529,7 @@ class SteamUser {
|
|
1526
1529
|
} else if (response.status === 429) {
|
1527
1530
|
console.log('Too Many Requests', config.url)
|
1528
1531
|
tooManyRequestTimestamp = new Date().getTime()
|
1532
|
+
checkTooManyRequest = true
|
1529
1533
|
await sleep(30000)
|
1530
1534
|
} else if (response.status === 401) {
|
1531
1535
|
console.log('Unauthorized')
|
@@ -5041,6 +5045,7 @@ class SteamUser {
|
|
5041
5045
|
const tradehistory_date = tradehistory_date_el.text().trim()//24 Mar, 2023
|
5042
5046
|
|
5043
5047
|
let timestamp = 0
|
5048
|
+
let timestampStr = `${tradehistory_date} ${tradehistory_timestamp}`
|
5044
5049
|
const timestampMoment = moment(`${tradehistory_date} ${tradehistory_timestamp}`, `D MMM, YYYY h:mma`, true)
|
5045
5050
|
if (!timestampMoment.isValid()) {
|
5046
5051
|
console.log(`${tradehistory_date} ${tradehistory_timestamp}`);
|
@@ -5192,6 +5197,7 @@ class SteamUser {
|
|
5192
5197
|
|
5193
5198
|
tradehistory.push({
|
5194
5199
|
timestamp,
|
5200
|
+
timestampStr,
|
5195
5201
|
description,
|
5196
5202
|
plusminus,
|
5197
5203
|
tradehistory_items,
|
package/package.json
CHANGED