steamutils 1.1.63 → 1.1.65

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. package/example.js +0 -90
  2. package/index.js +18 -8
  3. package/package.json +1 -1
package/example.js CHANGED
@@ -11,94 +11,4 @@ import * as cherrio from "cheerio";
11
11
  // const user = new SteamUser(loginResult.cookie)
12
12
 
13
13
 
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 friendList = await user.getTradeURL()
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
- }
103
-
104
14
  })()
package/index.js CHANGED
@@ -1505,7 +1505,7 @@ class SteamUser {
1505
1505
  const config = {
1506
1506
  baseURL: SteamcommunityURL,
1507
1507
  ...params,
1508
- data: typeof params.data === 'object' && !Object.keys(params.data).length ? undefined : params.data,
1508
+ data:( typeof params.data === 'object' && !Object.keys(params.data).length && !(params.data instanceof URLSearchParams)) ? undefined : params.data,
1509
1509
  validateStatus: () => true,
1510
1510
  headers: {
1511
1511
  ...(params.headers.get()),
@@ -5456,9 +5456,7 @@ class SteamUser {
5456
5456
  // currency: [],
5457
5457
  // ready: false
5458
5458
  // }
5459
- const tradeURLParams = url.parse(tradeURL).query.split('&').reduce((accumulator, currentValue, index) => ({
5460
- ...accumulator, [currentValue.split('=')[0]]: currentValue.split('=')[1]
5461
- }), {})
5459
+ const tradeURLParams = SteamUser.parseTradeURL(tradeURL)
5462
5460
  const result = await this._httpRequest({
5463
5461
  url: `tradeoffer/new/send`,
5464
5462
  headers: {
@@ -5468,9 +5466,9 @@ class SteamUser {
5468
5466
  },
5469
5467
  data: {
5470
5468
  serverid: 1,
5471
- partner: SteamID.fromIndividualAccountID(tradeURLParams.partner).getSteamID64(),
5469
+ partner: tradeURLParams.steamId,
5472
5470
  tradeoffermessage,
5473
- json_tradeoffer: encodeURIComponent(JSON.stringify({
5471
+ json_tradeoffer: JSON.stringify({
5474
5472
  newversion: true,
5475
5473
  version: 3,
5476
5474
  me: {
@@ -5483,9 +5481,9 @@ class SteamUser {
5483
5481
  currency: [],
5484
5482
  ready: false
5485
5483
  },
5486
- })),
5484
+ }),
5487
5485
  captcha: '',
5488
- trade_offer_create_params: encodeURIComponent(JSON.stringify({trade_offer_access_token: tradeURLParams.token})),
5486
+ trade_offer_create_params: JSON.stringify({trade_offer_access_token: tradeURLParams.token}),
5489
5487
  },
5490
5488
  method: 'POST',
5491
5489
  })
@@ -5497,6 +5495,18 @@ class SteamUser {
5497
5495
  email_domain: "gmail.com"
5498
5496
  }
5499
5497
  }
5498
+
5499
+ static parseTradeURL(tradeURL){
5500
+ const tradeURLParams = url.parse(tradeURL).query.split('&').reduce((accumulator, currentValue, index) => ({
5501
+ ...accumulator, [currentValue.split('=')[0]]: currentValue.split('=')[1]
5502
+ }), {})
5503
+
5504
+ return {
5505
+ accountId: tradeURLParams.partner,
5506
+ steamId: SteamID.fromIndividualAccountID(tradeURLParams.partner).getSteamID64(),
5507
+ token: tradeURLParams.token,
5508
+ }
5509
+ }
5500
5510
  }
5501
5511
 
5502
5512
  export default SteamUser
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "steamutils",
3
- "version": "1.1.63",
3
+ "version": "1.1.65",
4
4
  "main":"index.js",
5
5
  "dependencies": {
6
6
  "axios": "^1.3.4",