steamutils 1.1.5 → 1.1.6
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/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/steamutils.iml +1 -1
- package/.idea/vcs.xml +1 -1
- package/SteamClient.js +9 -4
- package/index.js +0 -226
- package/package.json +1 -1
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$/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
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
|
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]
|
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
|
655
|
-
|
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
|