steamutils 1.1.74 → 1.1.76

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <state>
3
+ <option name="USE_PER_PROJECT_SETTINGS" value="true" />
4
+ </state>
5
+ </component>
@@ -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$/temp" />
6
5
  <excludeFolder url="file://$MODULE_DIR$/.tmp" />
6
+ <excludeFolder url="file://$MODULE_DIR$/temp" />
7
7
  <excludeFolder url="file://$MODULE_DIR$/tmp" />
8
8
  </content>
9
9
  <orderEntry type="inheritedJdk" />
package/.idea/vcs.xml CHANGED
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <project version="4">
3
3
  <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
4
+ <mapping directory="" vcs="Git" />
5
5
  </component>
6
6
  </project>
package/index.js CHANGED
@@ -16,6 +16,8 @@ import { getJSObjectFronXML } from './xml2json.js'
16
16
  import axios from 'axios'
17
17
  import url from 'url'
18
18
  import * as cherrio from "cheerio";
19
+ import fs from "fs";
20
+ import FormData from "form-data";
19
21
 
20
22
  const MAX_RETRY = 10
21
23
  let requestTimestamp = 0
@@ -1474,7 +1476,7 @@ class SteamUser {
1474
1476
  }
1475
1477
 
1476
1478
  if (params.method.toUpperCase() === 'POST') {
1477
- if (params.data instanceof URLSearchParams) {
1479
+ if (params.data instanceof URLSearchParams || params.data instanceof FormData) {
1478
1480
  params.data.append('sessionid', this._sessionid)
1479
1481
  params.data.append('sessionID', this._sessionid)
1480
1482
  } else if (typeof params.data === 'string') {
@@ -1495,6 +1497,9 @@ class SteamUser {
1495
1497
  if (params.data instanceof URLSearchParams) {
1496
1498
  params.headers.set('content-type', 'application/x-www-form-urlencoded')
1497
1499
  }
1500
+ else if (params.data instanceof FormData) {
1501
+ params.headers.set('content-type', 'multipart/form-data')
1502
+ }
1498
1503
  }
1499
1504
 
1500
1505
  let redirectURL = null
@@ -3211,7 +3216,7 @@ class SteamUser {
3211
3216
  playingTime,
3212
3217
  name,
3213
3218
  onlineStatus,
3214
- miniprofile,
3219
+ steamId: SteamUser.miniprofile2SteamID64(miniprofile),
3215
3220
  avatar,
3216
3221
  })
3217
3222
  })
@@ -5583,6 +5588,64 @@ class SteamUser {
5583
5588
  token: tradeURLParams.token,
5584
5589
  }
5585
5590
  }
5591
+
5592
+ async uploadAvatar(filePath) {
5593
+ const form = new FormData();
5594
+ form.append('avatar', fs.createReadStream(filePath));
5595
+ form.append('type', 'player_avatar_image');
5596
+ form.append('sId', this._steamid_user);
5597
+ form.append('sessionid', this._sessionid);
5598
+ form.append('doSub', '1');
5599
+ form.append('json', '1');
5600
+
5601
+ const result = await this._httpRequest({
5602
+ url: 'actions/FileUploader/',
5603
+ method: "POST",
5604
+ data: form,
5605
+ headers: {
5606
+ 'Accept': 'application/json, text/plain, */*',
5607
+ }
5608
+ })
5609
+ return result?.data
5610
+ const successResponse = {
5611
+ "success": true,
5612
+ "images": {
5613
+ "0": "https:\/\/avatars.akamai.steamstatic.com\/8c150c6499937982c66e3ae27061b903a4bb168b.jpg",
5614
+ "full": "https:\/\/avatars.akamai.steamstatic.com\/8c150c6499937982c66e3ae27061b903a4bb168b_full.jpg",
5615
+ "medium": "https:\/\/avatars.akamai.steamstatic.com\/8c150c6499937982c66e3ae27061b903a4bb168b_medium.jpg"
5616
+ },
5617
+ "hash": "8c150c6499937982c66e3ae27061b903a4bb168b",
5618
+ "message": ""
5619
+ }
5620
+
5621
+ const error = `#Error_BadOrMissingSteamID`
5622
+ const error2 = {
5623
+ "success": false,
5624
+ "images": [],
5625
+ "hash": null,
5626
+ "message": "No file received."
5627
+ }
5628
+ }
5629
+
5630
+ async getMiniprofile(steamId = this._steamid_user){
5631
+ const response = await this._httpRequestAjax({
5632
+ url: `${SteamUser.steamID642Miniprofile(steamId)}/json/?origin=https://steamcommunity.com/`
5633
+ })
5634
+ return response.data
5635
+ const example = {
5636
+ "level": 0,
5637
+ "level_class": "friendPlayerLevel lvl_0",
5638
+ "avatar_url": "https:\/\/avatars.akamai.steamstatic.com\/2da65f05388ed7c857a46d82dfb9dbc19edef261_full.jpg",
5639
+ "persona_name": "Natri",
5640
+ "in_game": {
5641
+ "name": "Counter-Strike: Global Offensive",
5642
+ "is_non_steam": false,
5643
+ "logo": "https:\/\/cdn.akamai.steamstatic.com\/steam\/apps\/730\/capsule_184x69.jpg?t=1683566799",
5644
+ "rich_presence": "",
5645
+ "os_type": -700
5646
+ }
5647
+ }
5648
+ }
5586
5649
  }
5587
5650
 
5588
5651
  export default SteamUser
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "steamutils",
3
- "version": "1.1.74",
4
- "main":"index.js",
3
+ "version": "1.1.76",
4
+ "main": "index.js",
5
5
  "dependencies": {
6
6
  "axios": "^1.3.4",
7
7
  "cheerio": "^1.0.0-rc.12",
8
8
  "crypto-js": "^4.1.1",
9
9
  "csgo-friendcode": "^3.0.3",
10
+ "form-data": "^4.0.0",
10
11
  "lodash": "^4.17.21",
11
12
  "moment": "^2.29.4",
12
13
  "node-bignumber": "^1.2.2",