steamutils 1.1.5 → 1.1.6

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/SteamClient.js CHANGED
@@ -99,6 +99,7 @@ function SteamClient({
99
99
  friendTyping: [],
100
100
  disconnected: [],
101
101
  error: [],
102
+ playersProfile: [],
102
103
  }
103
104
 
104
105
  const gcCallback = {}
@@ -115,7 +116,7 @@ function SteamClient({
115
116
  clearTimeout(t)
116
117
  }
117
118
  delete gcCallback[name][id]
118
- cb?.apply(null, arg)
119
+ cb(arg)
119
120
  }
120
121
 
121
122
  if (timeout) {
@@ -127,7 +128,7 @@ function SteamClient({
127
128
  function callGCCallback(name, ...arg) {
128
129
  if (gcCallback[name]) {
129
130
  for (let id in gcCallback[name]) {
130
- gcCallback[name][id]?.apply(null, arg)
131
+ gcCallback[name][id](arg)
131
132
  }
132
133
  }
133
134
  }
@@ -651,8 +652,12 @@ function SteamClient({
651
652
  player_xp_bonus_flags: 0
652
653
  }]
653
654
 
654
- const accountid = data?.[0]?.account_id
655
- callGCCallback('PlayersProfile' + accountid, data?.[0])
655
+ const player = data?.[0];
656
+ if (player) {
657
+ player.prime = !!(player.ranking?.account_id || player.player_level || player.player_cur_xp)
658
+ }
659
+ callGCCallback('PlayersProfile' + player?.account_id, player)
660
+ callEvent(events.playersProfile, player)
656
661
  break
657
662
  }
658
663
  default:
package/index.js CHANGED
@@ -4951,232 +4951,6 @@ class SteamUser {
4951
4951
  "median_price": "30.936,57₫"
4952
4952
  }
4953
4953
  }
4954
-
4955
- async getFullInventoryHistory() {
4956
- let result = null
4957
- do {
4958
- result = await this.getInventoryHistory(result?.cursor)
4959
- result.tradehistory.forEach(r => console.log(r))
4960
- } while (result?.cursor)
4961
- }
4962
- async getInventoryHistory(cursor) {
4963
- if (!cursor) {
4964
- cursor = {
4965
- time: parseInt(new Date().getTime() / 1000),
4966
- time_frac: 0,
4967
- s: 0,
4968
- }
4969
- }
4970
-
4971
- // let cursor = null
4972
- let result = null
4973
- for (let i = 0; i < 10; i++) {
4974
- const query = {sessionid: this._sessionid, ajax: 1, l: 'english'}
4975
- if (cursor) {
4976
- query['cursor[s]'] = cursor.s
4977
- query['cursor[time_frac]'] = cursor.time_frac
4978
- query['cursor[time]'] = cursor.time
4979
- }
4980
- const url = `https://steamcommunity.com/my/inventoryhistory/?${Object.keys(query).map(k => `${encodeURIComponent(k)}=${encodeURIComponent(query[k])}`).join('&')}`;
4981
- let _result
4982
- try {
4983
- _result = (await this._httpRequestAjax({url}))?.data
4984
- } catch (e) {
4985
- }
4986
- if (!_result) {
4987
- await sleep(5000)
4988
- } else if (typeof _result === "string") {
4989
-
4990
- } else if (_result.success !== true) {
4991
- console.error(url)
4992
- console.error(_result)
4993
- await sleep(5000)
4994
- } else {
4995
- result = _result
4996
- break
4997
- }
4998
- }
4999
-
5000
- const descriptions = result.descriptions
5001
- const $ = cheerio.load(result.html?.replaceAll(/[\t\n\r]/gi, '')
5002
- ?.trim() || '')
5003
-
5004
- const tradehistory = []
5005
- $('.tradehistoryrow').each(function () {
5006
- const tradehistoryrow_el = $(this)
5007
- const tradehistory_date_el = tradehistoryrow_el.find('.tradehistory_date')
5008
- const tradehistory_timestamp_el = tradehistory_date_el.find('.tradehistory_timestamp')
5009
-
5010
- const tradehistory_timestamp = tradehistory_timestamp_el.text().trim()//3:49pm
5011
- tradehistory_timestamp_el.remove()
5012
- const tradehistory_date = tradehistory_date_el.text().trim()//24 Mar, 2023
5013
-
5014
- let timestamp = 0
5015
- const timestampMoment = moment(`${tradehistory_date} ${tradehistory_timestamp}`, `D MMM, YYYY h:mma`, true)
5016
- if (!timestampMoment.isValid()) {
5017
- console.log(`${tradehistory_date} ${tradehistory_timestamp}`);
5018
- } else {
5019
- timestamp = timestampMoment.valueOf() / 1000
5020
- }
5021
-
5022
- const tradehistory_event_description_el = tradehistoryrow_el.find('.tradehistory_event_description')
5023
- let description = tradehistory_event_description_el.text().trim()
5024
- let tradePeople = null
5025
-
5026
- switch (description) {
5027
- case "You purchased an item on the Community Market.": {
5028
- break
5029
- }
5030
- case "You listed an item on the Community Market.": {
5031
- break
5032
- }
5033
- case "You canceled a listing on the Community Market. The item was returned to you.": {
5034
- break
5035
- }
5036
- case "Crafted": {
5037
- break
5038
- }
5039
- case "Earned a new rank and got a drop": {
5040
- break
5041
- }
5042
- case "Got an item drop": {
5043
- break
5044
- }
5045
- case "Purchased a gift": {
5046
- break
5047
- }
5048
- case "Earned by redeeming Steam Points": {
5049
- break
5050
- }
5051
- case "Earned by completing your Store Discovery Queue": {
5052
- break
5053
- }
5054
- case "Earned": {
5055
- break
5056
- }
5057
- case "Earned due to game play time": {
5058
- break
5059
- }
5060
- default: {
5061
- if (description.startsWith("You traded with ")) {
5062
- const peopleEl = tradehistory_event_description_el.find('a[href]')
5063
- tradePeople = {
5064
- name: peopleEl.text().trim(),
5065
- url: peopleEl.attr('href')
5066
- }
5067
- description = "You traded with"
5068
- } else if (description.startsWith("Gift sent to and redeemed by ")) {
5069
- const peopleEl = tradehistory_event_description_el.find('a[href]')
5070
- tradePeople = {
5071
- name: peopleEl.text().trim(),
5072
- url: peopleEl.attr('href')
5073
- }
5074
- description = "Gift sent to and redeemed by"
5075
- } else if (description.startsWith("Your trade with ") && description.endsWith(" was on hold, and the trade has now completed.")) {
5076
- const peopleEl = tradehistory_event_description_el.find('a[href]')
5077
- tradePeople = {
5078
- name: peopleEl.text().trim(),
5079
- url: peopleEl.attr('href')
5080
- }
5081
- description = "Your trade with friend was on hold, and the trade has now completed."
5082
- } else if (description.startsWith("You listed an item on the Community Market. The listing was placed on hold until")) {
5083
- //You listed an item on the Community Market. The listing was placed on hold until 24 Jan @ 3:06am.
5084
- description = "You listed an item on the Community Market. The listing was placed on hold until"
5085
- } else {
5086
- console.log(description);
5087
- }
5088
- }
5089
- }
5090
-
5091
- const plusminus = tradehistoryrow_el.find('.tradehistory_items_plusminus').text().trim()//+ -
5092
- const tradehistory_items = []
5093
- tradehistoryrow_el.find('.tradehistory_items').each(function () {
5094
- const tradehistory_items_el = $(this)
5095
- const items_plusminus = tradehistory_items_el.find('.tradehistory_items_plusminus').text().trim()
5096
- tradehistory_items_el.find('.tradehistory_items_group > .history_item').each(function () {
5097
- const itemEl = $(this)
5098
- const text = itemEl.text().trim()//You did not receive any items in this trade.
5099
- const appID = itemEl.attr('data-appid')
5100
- const classid = itemEl.attr('data-classid')
5101
- const instanceid = itemEl.attr('data-instanceid')
5102
- const contextid = itemEl.attr('data-contextid')
5103
-
5104
- if (text !== `You did not receive any items in this trade.`) {
5105
- const item = descriptions[appID][classid + '_' + instanceid]
5106
- if (item) {
5107
- tradehistory_items.push({...item, plusminus: items_plusminus})
5108
- } else {
5109
- tradehistory_items.push({
5110
- appID,
5111
- classid,
5112
- instanceid,
5113
- contextid,
5114
- plusminus: items_plusminus
5115
- })
5116
- }
5117
- }
5118
- })
5119
- })
5120
-
5121
- tradehistory.push({
5122
- timestamp,
5123
- description,
5124
- plusminus,
5125
- tradehistory_items,
5126
- ...(!!tradePeople && {tradePeople})
5127
- })
5128
- })
5129
-
5130
- return {cursor: result.cursor, tradehistory}
5131
- const exampleTradeHistory = [
5132
- {
5133
- timestamp: 1684108140,
5134
- description: "Got an item drop",
5135
- plusminus: "+",
5136
- tradehistory_items: [
5137
- {
5138
- icon_url: "-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXU5A1PIYQNqhpOSV-fRPasw8rsUFJ5KBFZv668FFQwnfCcJmxDv9rhwIHZwqP3a-uGwz9Xv8F0j-qQrI3xiVLkrxVuZW-mJoWLMlhpWhFkc9M",
5139
- icon_drag_url: "",
5140
- name: "Dreams & Nightmares Case",
5141
- market_hash_name: "Dreams & Nightmares Case",
5142
- market_name: "Dreams & Nightmares Case",
5143
- name_color: "D2D2D2",
5144
- background_color: "",
5145
- type: "Base Grade Container",
5146
- tradable: 1,
5147
- marketable: 1,
5148
- commodity: 1,
5149
- market_tradable_restriction: "7",
5150
- market_buy_country_restriction: "FR",
5151
- descriptions: [
5152
- {
5153
- type: "html",
5154
- value: " "
5155
- },
5156
- {
5157
- type: "html",
5158
- value: "",
5159
- color: "00a000",
5160
- app_data: {
5161
- limited: 1
5162
- }
5163
- }
5164
- ],
5165
- tags: [
5166
- {
5167
- internal_name: "CSGO_Type_WeaponCase",
5168
- name: "Container",
5169
- category: "Type",
5170
- category_name: "Type"
5171
- },
5172
- ],
5173
- classid: "4717330486",
5174
- plusminus: "+"
5175
- }
5176
- ]
5177
- },
5178
- ]
5179
- }
5180
4954
  }
5181
4955
 
5182
4956
  export default SteamUser
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "steamutils",
3
- "version": "1.1.5",
3
+ "version": "1.1.6",
4
4
  "dependencies": {
5
5
  "axios": "^1.3.4",
6
6
  "cheerio": "^1.0.0-rc.12",