steamutils 1.4.75 → 1.4.77
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/Project.xml +1 -0
- package/.idea/deployment.xml +14 -0
- package/.prettierrc.json +3 -3
- package/SteamClient.js +36 -55
- package/_steamproto.js +33 -33
- package/axios.js +84 -84
- package/bufferHelpers.js +115 -115
- package/cheerio.js +103 -103
- package/const.js +458 -458
- package/create_proto.js +96 -96
- package/create_remote_file.js +74 -74
- package/full_steamproto.js +33 -33
- package/helpers/protos.js +48 -48
- package/index.js +7781 -7781
- package/package.json +1 -1
- package/protos/csgo/base_gcmessages.proto +553 -553
- package/protos/csgo/base_gcmessages_csgo.proto +547 -547
- package/protos/csgo/c_peer2peer_netmessages.proto +55 -55
- package/protos/csgo/clientmessages.proto +48 -48
- package/protos/csgo/connectionless_netmessages.proto +17 -17
- package/protos/csgo/cs_gameevents.proto +35 -35
- package/protos/csgo/cs_usercmd.proto +34 -34
- package/protos/csgo/cstrike15_gcmessages.proto +1431 -1431
- package/protos/csgo/cstrike15_usermessages.proto +592 -592
- package/protos/csgo/demo.proto +165 -165
- package/protos/csgo/econ_gcmessages.proto +219 -219
- package/protos/csgo/enums_clientserver.proto +1529 -1529
- package/protos/csgo/fatdemo.proto +125 -125
- package/protos/csgo/gameevents.proto +120 -120
- package/protos/csgo/gcsdk_gcmessages.proto +323 -323
- package/protos/csgo/gcsystemmsgs.proto +243 -243
- package/protos/csgo/netmessages.proto +618 -618
- package/protos/csgo/networkbasetypes.proto +246 -246
- package/protos/csgo/networksystem_protomessages.proto +17 -17
- package/protos/csgo/steamdatagram_messages_auth.proto +65 -65
- package/protos/csgo/steamdatagram_messages_sdr.proto +534 -534
- package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -68
- package/protos/csgo/steammessages_gamenetworkingui.proto +61 -61
- package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -22
- package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -18
- package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -254
- package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -233
- package/protos/csgo/steamnetworkingsockets_messages.proto +205 -205
- package/protos/csgo/steamnetworkingsockets_messages_certs.proto +39 -39
- package/protos/csgo/steamnetworkingsockets_messages_udp.proto +75 -75
- package/protos/csgo/te.proto +259 -259
- package/protos/csgo/uifontfile_format.proto +13 -13
- package/protos/csgo/usercmd.proto +39 -39
- package/protos/csgo/usermessages.proto +752 -752
- package/protos/google/protobuf/descriptor.proto +281 -281
- package/protos/steam/clientmetrics.proto +45 -45
- package/protos/steam/content_manifest.proto +62 -62
- package/protos/steam/contenthubs.proto +41 -41
- package/protos/steam/encrypted_app_ticket.proto +10 -10
- package/protos/steam/enums.proto +501 -501
- package/protos/steam/enums_clientserver.proto +1508 -1508
- package/protos/steam/enums_productinfo.proto +14 -14
- package/protos/steam/htmlmessages.proto +1039 -1039
- package/protos/steam/offline_ticket.proto +8 -8
- package/protos/steam/steamdatagram_messages_auth.proto +65 -65
- package/protos/steam/steamdatagram_messages_sdr.proto +533 -533
- package/protos/steam/steammessages_accounthardware.steamclient.proto +167 -167
- package/protos/steam/steammessages_appoverview.proto +204 -204
- package/protos/steam/steammessages_auth.steamclient.proto +375 -375
- package/protos/steam/steammessages_broadcast.steamclient.proto +618 -618
- package/protos/steam/steammessages_chat.steamclient.proto +1070 -1070
- package/protos/steam/steammessages_client_objects.proto +649 -649
- package/protos/steam/steammessages_clientlanp2p.proto +43 -43
- package/protos/steam/steammessages_clientmetrics.steamclient.proto +192 -192
- package/protos/steam/steammessages_clientnotificationtypes.proto +250 -250
- package/protos/steam/steammessages_clientserver.proto +392 -392
- package/protos/steam/steammessages_clientserver_2.proto +771 -771
- package/protos/steam/steammessages_clientserver_appinfo.proto +131 -131
- package/protos/steam/steammessages_clientserver_friends.proto +260 -260
- package/protos/steam/steammessages_clientserver_gameservers.proto +159 -159
- package/protos/steam/steammessages_clientserver_lbs.proto +70 -70
- package/protos/steam/steammessages_clientserver_login.proto +167 -167
- package/protos/steam/steammessages_clientserver_mms.proto +233 -233
- package/protos/steam/steammessages_clientserver_ucm.proto +207 -207
- package/protos/steam/steammessages_clientserver_uds.proto +125 -125
- package/protos/steam/steammessages_clientserver_ufs.proto +45 -45
- package/protos/steam/steammessages_clientserver_userstats.proto +80 -80
- package/protos/steam/steammessages_cloud.steamclient.proto +422 -422
- package/protos/steam/steammessages_contentsystem.steamclient.proto +123 -123
- package/protos/steam/steammessages_credentials.steamclient.proto +96 -96
- package/protos/steam/steammessages_datapublisher.steamclient.proto +102 -102
- package/protos/steam/steammessages_depotbuilder.steamclient.proto +99 -99
- package/protos/steam/steammessages_deviceauth.steamclient.proto +169 -169
- package/protos/steam/steammessages_econ.steamclient.proto +137 -137
- package/protos/steam/steammessages_familygroups.steamclient.proto +441 -441
- package/protos/steam/steammessages_friendmessages.steamclient.proto +141 -141
- package/protos/steam/steammessages_gamenetworking.steamclient.proto +25 -25
- package/protos/steam/steammessages_gamenetworkingui.proto +61 -61
- package/protos/steam/steammessages_gamenotifications.steamclient.proto +131 -131
- package/protos/steam/steammessages_gameservers.steamclient.proto +136 -136
- package/protos/steam/steammessages_hiddevices.proto +157 -157
- package/protos/steam/steammessages_inventory.steamclient.proto +172 -172
- package/protos/steam/steammessages_linkfilter.steamclient.proto +39 -39
- package/protos/steam/steammessages_lobbymatchmaking.steamclient.proto +29 -29
- package/protos/steam/steammessages_market.steamclient.proto +22 -22
- package/protos/steam/steammessages_marketingmessages.steamclient.proto +273 -273
- package/protos/steam/steammessages_offline.steamclient.proto +33 -33
- package/protos/steam/steammessages_parental.steamclient.proto +262 -262
- package/protos/steam/steammessages_parties.steamclient.proto +75 -75
- package/protos/steam/steammessages_partnerapps.steamclient.proto +106 -106
- package/protos/steam/steammessages_player.steamclient.proto +915 -915
- package/protos/steam/steammessages_publishedfile.steamclient.proto +737 -737
- package/protos/steam/steammessages_qms.steamclient.proto +111 -111
- package/protos/steam/steammessages_remoteclient.proto +100 -100
- package/protos/steam/steammessages_remoteclient_discovery.proto +244 -244
- package/protos/steam/steammessages_remoteclient_service.steamclient.proto +31 -31
- package/protos/steam/steammessages_remoteclient_service_messages.proto +217 -217
- package/protos/steam/steammessages_remoteplay.proto +975 -975
- package/protos/steam/steammessages_secrets.steamclient.proto +35 -35
- package/protos/steam/steammessages_shader.steamclient.proto +89 -89
- package/protos/steam/steammessages_site_license.steamclient.proto +103 -103
- package/protos/steam/steammessages_sitelicenseclient.proto +38 -38
- package/protos/steam/steammessages_siteserverui.proto +130 -130
- package/protos/steam/steammessages_steamtv.steamclient.proto +533 -533
- package/protos/steam/steammessages_store.steamclient.proto +404 -404
- package/protos/steam/steammessages_storebrowse.steamclient.proto +457 -457
- package/protos/steam/steammessages_timedtrial.steamclient.proto +40 -40
- package/protos/steam/steammessages_twofactor.steamclient.proto +157 -157
- package/protos/steam/steammessages_unified_test.steamclient.proto +51 -51
- package/protos/steam/steammessages_useraccount.steamclient.proto +211 -211
- package/protos/steam/steammessages_vac.steamclient.proto +37 -37
- package/protos/steam/steammessages_video.steamclient.proto +68 -68
- package/protos/steam/steammessages_virtualcontroller.proto +138 -138
- package/protos/steam/steammessages_workshop.steamclient.proto +19 -19
- package/protos/steam/steamnetworkingsockets_messages.proto +205 -205
- package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -39
- package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -75
- package/protos/steam/webuimessages_achievements.proto +29 -29
- package/protos/steam/webuimessages_gamenotes.proto +21 -21
- package/protos/steam/webuimessages_gamescope.proto +57 -57
- package/protos/steam/webuimessages_steamengine.proto +41 -41
- package/protos/steam/webuimessages_steamos.proto +114 -114
- package/protos/steam/webuimessages_storagedevicemanager.proto +110 -110
- package/protos/steam/webuimessages_systemmanager.proto +17 -17
- package/protos/steam/webuimessages_transport.proto +22 -22
- package/protos/steam/webuimessages_transportvalidation.proto +111 -111
- package/protos/webui/common.proto +4024 -4024
- package/protos/webui/service_accountcart.proto +153 -153
- package/protos/webui/service_accountlinking.proto +27 -27
- package/protos/webui/service_accountprivacy.proto +42 -42
- package/protos/webui/service_accountprivateapps.proto +34 -34
- package/protos/webui/service_auction.proto +97 -97
- package/protos/webui/service_authentication.proto +222 -222
- package/protos/webui/service_authenticationsupport.proto +74 -74
- package/protos/webui/service_broadcast.proto +562 -562
- package/protos/webui/service_chat.proto +11 -11
- package/protos/webui/service_chatroom.proto +810 -810
- package/protos/webui/service_chatusability.proto +107 -107
- package/protos/webui/service_checkout.proto +84 -84
- package/protos/webui/service_clan.proto +41 -41
- package/protos/webui/service_clanchatrooms.proto +25 -25
- package/protos/webui/service_clanfaqs.proto +202 -202
- package/protos/webui/service_clientcomm.proto +151 -151
- package/protos/webui/service_clientmetrics.proto +22 -22
- package/protos/webui/service_cloud.proto +222 -222
- package/protos/webui/service_cloudconfigstore.proto +51 -51
- package/protos/webui/service_cloudgaming.proto +30 -30
- package/protos/webui/service_community.proto +365 -365
- package/protos/webui/service_dailydeal.proto +89 -89
- package/protos/webui/service_econ.proto +134 -134
- package/protos/webui/service_embedded.proto +24 -24
- package/protos/webui/service_experimentservice.proto +6 -6
- package/protos/webui/service_familygroups.proto +355 -355
- package/protos/webui/service_fovasvideo.proto +15 -15
- package/protos/webui/service_friendmessages.proto +133 -133
- package/protos/webui/service_friendslist.proto +70 -70
- package/protos/webui/service_gamenotes.proto +15 -15
- package/protos/webui/service_gamerecording.proto +265 -265
- package/protos/webui/service_gamerecordingclip.proto +85 -85
- package/protos/webui/service_gamerecordingdebug.proto +52 -52
- package/protos/webui/service_helprequestlogs.proto +16 -16
- package/protos/webui/service_loyaltyrewards.proto +252 -252
- package/protos/webui/service_marketingmessages.proto +215 -215
- package/protos/webui/service_mobileapp.proto +18 -18
- package/protos/webui/service_mobileauth.proto +24 -24
- package/protos/webui/service_mobiledevice.proto +26 -26
- package/protos/webui/service_mobileperaccount.proto +31 -31
- package/protos/webui/service_news.proto +110 -110
- package/protos/webui/service_parental.proto +258 -258
- package/protos/webui/service_partnermembershipinvite.proto +34 -34
- package/protos/webui/service_partnerstorebrowse.proto +28 -28
- package/protos/webui/service_phone.proto +51 -51
- package/protos/webui/service_physicalgoods.proto +15 -15
- package/protos/webui/service_player.proto +918 -918
- package/protos/webui/service_promotioneventinvites.proto +109 -109
- package/protos/webui/service_promotionplanning.proto +186 -186
- package/protos/webui/service_promotionstats.proto +23 -23
- package/protos/webui/service_publishedfile.proto +714 -714
- package/protos/webui/service_publishing.proto +200 -200
- package/protos/webui/service_quest.proto +127 -127
- package/protos/webui/service_salefeature.proto +373 -373
- package/protos/webui/service_saleitemrewards.proto +54 -54
- package/protos/webui/service_shoppingcart.proto +152 -152
- package/protos/webui/service_steamawards.proto +76 -76
- package/protos/webui/service_steamcharts.proto +75 -75
- package/protos/webui/service_steamengine.proto +36 -36
- package/protos/webui/service_steamlearn.proto +876 -876
- package/protos/webui/service_steamnotification.proto +73 -73
- package/protos/webui/service_steamtv.proto +495 -495
- package/protos/webui/service_steamvrvoicechat.proto +67 -67
- package/protos/webui/service_steamvrwebrtc.proto +48 -48
- package/protos/webui/service_storagedevicemanager.proto +104 -104
- package/protos/webui/service_store.proto +359 -359
- package/protos/webui/service_storeappsimilarity.proto +76 -76
- package/protos/webui/service_storebrowse.proto +103 -103
- package/protos/webui/service_storemarketing.proto +44 -44
- package/protos/webui/service_storequery.proto +103 -103
- package/protos/webui/service_storesales.proto +87 -87
- package/protos/webui/service_storetopsellers.proto +44 -44
- package/protos/webui/service_systemmanager.proto +11 -11
- package/protos/webui/service_test_transporterror.proto +6 -6
- package/protos/webui/service_transportauth.proto +17 -17
- package/protos/webui/service_transportvalidation.proto +69 -69
- package/protos/webui/service_twofactor.proto +170 -170
- package/protos/webui/service_useraccount.proto +142 -142
- package/protos/webui/service_usergameactivity.proto +34 -34
- package/protos/webui/service_usergamenotes.proto +70 -70
- package/protos/webui/service_usernews.proto +68 -68
- package/protos/webui/service_userreviews.proto +97 -97
- package/protos/webui/service_video.proto +50 -50
- package/protos/webui/service_videoclip.proto +62 -62
- package/protos/webui/service_voicechat.proto +139 -139
- package/protos/webui/service_webrtc.proto +52 -52
- package/remote.js +8378 -8378
- package/steamproto.js +1 -1
- package/utils.js +986 -986
- package/.idea/gbrowser_project.xml +0 -11
- package/.idea/git_toolbox_blame.xml +0 -6
- package/.idea/git_toolbox_prj.xml +0 -15
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
<code_scheme name="Project" version="173">
|
|
3
3
|
<HTMLCodeStyleSettings>
|
|
4
4
|
<option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
|
|
5
|
+
<option name="HTML_ENFORCE_QUOTES" value="true" />
|
|
5
6
|
</HTMLCodeStyleSettings>
|
|
6
7
|
<JSCodeStyleSettings version="0">
|
|
7
8
|
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="PublishConfigData" remoteFilesAllowedToDisappearOnAutoupload="false">
|
|
4
|
+
<serverData>
|
|
5
|
+
<paths name="botnatridiscord">
|
|
6
|
+
<serverdata>
|
|
7
|
+
<mappings>
|
|
8
|
+
<mapping local="$PROJECT_DIR$" web="/" />
|
|
9
|
+
</mappings>
|
|
10
|
+
</serverdata>
|
|
11
|
+
</paths>
|
|
12
|
+
</serverData>
|
|
13
|
+
</component>
|
|
14
|
+
</project>
|
package/.prettierrc.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"printWidth": 1000
|
|
3
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"printWidth": 1000
|
|
3
|
+
}
|
package/SteamClient.js
CHANGED
|
@@ -109,6 +109,9 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
109
109
|
let _cleanNodeSteamLicensesTimeout = null;
|
|
110
110
|
let _cleanNodeSteamFriendTimeout = null;
|
|
111
111
|
|
|
112
|
+
let _appLaunchedTimeout = null;
|
|
113
|
+
let _appQuitTimeout = null;
|
|
114
|
+
|
|
112
115
|
let _clientWelcome = null;
|
|
113
116
|
let _clientHello = null;
|
|
114
117
|
|
|
@@ -197,9 +200,7 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
197
200
|
for (const [eventName, events] of Object.entries(gcEvents)) {
|
|
198
201
|
if (eventName === name) {
|
|
199
202
|
for (const event of events) {
|
|
200
|
-
|
|
201
|
-
clearTimeout(event.timeout);
|
|
202
|
-
}
|
|
203
|
+
clearTimeout(event.timeout);
|
|
203
204
|
}
|
|
204
205
|
events.length = 0;
|
|
205
206
|
} else {
|
|
@@ -207,9 +208,7 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
207
208
|
return Object.values(e).some((v) => v === name);
|
|
208
209
|
});
|
|
209
210
|
for (const removedEvent of removedEvents) {
|
|
210
|
-
|
|
211
|
-
clearTimeout(removedEvent.timeout);
|
|
212
|
-
}
|
|
211
|
+
clearTimeout(removedEvent.timeout);
|
|
213
212
|
}
|
|
214
213
|
}
|
|
215
214
|
}
|
|
@@ -229,10 +228,8 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
229
228
|
let calculated = false;
|
|
230
229
|
|
|
231
230
|
for (const removedEvent of removedEvents) {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
delete removedEvent.timeout;
|
|
235
|
-
}
|
|
231
|
+
clearTimeout(removedEvent.timeout);
|
|
232
|
+
delete removedEvent.timeout;
|
|
236
233
|
|
|
237
234
|
if (!calculated) {
|
|
238
235
|
calculated = true;
|
|
@@ -288,9 +285,7 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
288
285
|
for (const [eventName, _events] of Object.entries(events)) {
|
|
289
286
|
if (eventName === name) {
|
|
290
287
|
for (const event of _events) {
|
|
291
|
-
|
|
292
|
-
clearTimeout(event.timeout);
|
|
293
|
-
}
|
|
288
|
+
clearTimeout(event.timeout);
|
|
294
289
|
}
|
|
295
290
|
_events.length = 0;
|
|
296
291
|
} else {
|
|
@@ -298,9 +293,7 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
298
293
|
return Object.values(e).some((v) => v === name);
|
|
299
294
|
});
|
|
300
295
|
for (const removedEvent of removedEvents) {
|
|
301
|
-
|
|
302
|
-
clearTimeout(removedEvent.timeout);
|
|
303
|
-
}
|
|
296
|
+
clearTimeout(removedEvent.timeout);
|
|
304
297
|
}
|
|
305
298
|
}
|
|
306
299
|
}
|
|
@@ -313,12 +306,8 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
313
306
|
function offAllEvent() {
|
|
314
307
|
for (const name in events) {
|
|
315
308
|
for (const event of events[name]) {
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
clearTimeout(event.timeout);
|
|
319
|
-
} catch (e) {}
|
|
320
|
-
delete event.timeout;
|
|
321
|
-
}
|
|
309
|
+
clearTimeout(event.timeout);
|
|
310
|
+
delete event.timeout;
|
|
322
311
|
}
|
|
323
312
|
events[name].length = 0;
|
|
324
313
|
}
|
|
@@ -335,9 +324,7 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
335
324
|
}
|
|
336
325
|
if (isRandom) {
|
|
337
326
|
if (intervalRandoms[key] !== undefined) {
|
|
338
|
-
|
|
339
|
-
clearTimeout(intervalRandoms[key]);
|
|
340
|
-
} catch (e) {}
|
|
327
|
+
clearTimeout(intervalRandoms[key]);
|
|
341
328
|
}
|
|
342
329
|
intervalRandoms[key] = setTimeout(
|
|
343
330
|
function () {
|
|
@@ -382,9 +369,7 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
382
369
|
} catch (e) {}
|
|
383
370
|
delete intervals[key];
|
|
384
371
|
|
|
385
|
-
|
|
386
|
-
clearTimeout(intervalRandoms[key]);
|
|
387
|
-
} catch (e) {}
|
|
372
|
+
clearTimeout(intervalRandoms[key]);
|
|
388
373
|
delete intervalRandoms[key];
|
|
389
374
|
}
|
|
390
375
|
|
|
@@ -450,9 +435,7 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
450
435
|
if (!globalThis.SteamClient_PersonasCache_Timeout) {
|
|
451
436
|
globalThis.SteamClient_PersonasCache_Timeout = {};
|
|
452
437
|
}
|
|
453
|
-
|
|
454
|
-
clearTimeout(globalThis.SteamClient_PersonasCache_Timeout[sid64]);
|
|
455
|
-
}
|
|
438
|
+
clearTimeout(globalThis.SteamClient_PersonasCache_Timeout[sid64]);
|
|
456
439
|
globalThis.SteamClient_PersonasCache_Timeout[sid64] = setTimeout(function () {
|
|
457
440
|
delete globalThis.SteamClient_PersonasCache[sid64];
|
|
458
441
|
delete globalThis.SteamClient_PersonasCache_Timeout[sid64];
|
|
@@ -1518,13 +1501,10 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
1518
1501
|
async user(steamId, data) {
|
|
1519
1502
|
callEvent(events.user, { steamId: steamId.getSteamID64(), data });
|
|
1520
1503
|
|
|
1521
|
-
// cleanNodeSteamUserData
|
|
1522
1504
|
for (const friendSteamId in steamClient.users) {
|
|
1523
1505
|
steamClient.users[friendSteamId] = {};
|
|
1524
1506
|
}
|
|
1525
|
-
|
|
1526
|
-
clearTimeout(_cleanNodeSteamUserTimeout);
|
|
1527
|
-
}
|
|
1507
|
+
clearTimeout(_cleanNodeSteamUserTimeout);
|
|
1528
1508
|
_cleanNodeSteamUserTimeout = setTimeout(function () {
|
|
1529
1509
|
steamClient.users = {};
|
|
1530
1510
|
}, 60000);
|
|
@@ -1667,9 +1647,7 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
1667
1647
|
|
|
1668
1648
|
steamClient.myFriends = {};
|
|
1669
1649
|
|
|
1670
|
-
|
|
1671
|
-
clearTimeout(_cleanNodeSteamFriendTimeout);
|
|
1672
|
-
}
|
|
1650
|
+
clearTimeout(_cleanNodeSteamFriendTimeout);
|
|
1673
1651
|
|
|
1674
1652
|
_cleanNodeSteamFriendTimeout = setTimeout(function () {
|
|
1675
1653
|
steamClient.myFriends = {};
|
|
@@ -1693,12 +1671,14 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
1693
1671
|
callEvent(events.emailInfo, { address, validated });
|
|
1694
1672
|
},
|
|
1695
1673
|
async appLaunched() {
|
|
1696
|
-
|
|
1674
|
+
clearTimeout(_appLaunchedTimeout);
|
|
1675
|
+
_appLaunchedTimeout = setTimeout(function () {
|
|
1697
1676
|
state = getPlayingAppIds().length ? "InGame" : isInvisible ? "Invisible" : "Online";
|
|
1698
1677
|
}, 2000);
|
|
1699
1678
|
},
|
|
1700
1679
|
async appQuit() {
|
|
1701
|
-
|
|
1680
|
+
clearTimeout(_appQuitTimeout);
|
|
1681
|
+
_appQuitTimeout = setTimeout(function () {
|
|
1702
1682
|
state = getPlayingAppIds().length ? "InGame" : isInvisible ? "Invisible" : "Online";
|
|
1703
1683
|
}, 2000);
|
|
1704
1684
|
},
|
|
@@ -1720,9 +1700,7 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
1720
1700
|
async licenses() {
|
|
1721
1701
|
steamClient.licenses = [];
|
|
1722
1702
|
|
|
1723
|
-
|
|
1724
|
-
clearTimeout(_cleanNodeSteamLicensesTimeout);
|
|
1725
|
-
}
|
|
1703
|
+
clearTimeout(_cleanNodeSteamLicensesTimeout);
|
|
1726
1704
|
|
|
1727
1705
|
_cleanNodeSteamLicensesTimeout = setTimeout(function () {
|
|
1728
1706
|
steamClient.licenses = [];
|
|
@@ -1812,7 +1790,14 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
1812
1790
|
}
|
|
1813
1791
|
|
|
1814
1792
|
for (const [name, _event] of Object.entries(_events)) {
|
|
1815
|
-
steamClient.on(name,
|
|
1793
|
+
steamClient.on(name, async (...args) => {
|
|
1794
|
+
if (!steamClient) {
|
|
1795
|
+
return;
|
|
1796
|
+
}
|
|
1797
|
+
try {
|
|
1798
|
+
await _event?.(...args);
|
|
1799
|
+
} catch (e) {}
|
|
1800
|
+
});
|
|
1816
1801
|
}
|
|
1817
1802
|
|
|
1818
1803
|
for (const [name, _event] of Object.entries(_chatEvents)) {
|
|
@@ -1824,7 +1809,7 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
1824
1809
|
const timeout = { current: null };
|
|
1825
1810
|
return new Promise((resolve) => {
|
|
1826
1811
|
function myhandler(...args) {
|
|
1827
|
-
|
|
1812
|
+
clearTimeout(timeout.current);
|
|
1828
1813
|
removeHandler();
|
|
1829
1814
|
resolve(handler?.(...args));
|
|
1830
1815
|
}
|
|
@@ -2154,15 +2139,11 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
2154
2139
|
callEvent(events.logOff);
|
|
2155
2140
|
events.logOff = [];
|
|
2156
2141
|
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
}
|
|
2163
|
-
if (_cleanNodeSteamFriendTimeout) {
|
|
2164
|
-
clearTimeout(_cleanNodeSteamFriendTimeout);
|
|
2165
|
-
}
|
|
2142
|
+
clearTimeout(_cleanNodeSteamUserTimeout);
|
|
2143
|
+
clearTimeout(_cleanNodeSteamLicensesTimeout);
|
|
2144
|
+
clearTimeout(_cleanNodeSteamFriendTimeout);
|
|
2145
|
+
clearTimeout(_appLaunchedTimeout);
|
|
2146
|
+
clearTimeout(_appQuitTimeout);
|
|
2166
2147
|
|
|
2167
2148
|
if (steamClient) {
|
|
2168
2149
|
steamClient.logOff();
|
|
@@ -2660,7 +2641,7 @@ function SteamClient({ username, cookie, clientJsToken, isAutoRequestFreeLicense
|
|
|
2660
2641
|
}
|
|
2661
2642
|
|
|
2662
2643
|
function getPlayingAppIds() {
|
|
2663
|
-
return steamClient
|
|
2644
|
+
return steamClient?._playingAppIds || [];
|
|
2664
2645
|
}
|
|
2665
2646
|
|
|
2666
2647
|
async function requestJoinFriendData(token, version) {
|
package/_steamproto.js
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import { fileURLToPath } from "url";
|
|
3
|
-
import Protobuf from "protobufjs";
|
|
4
|
-
|
|
5
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
-
const __dirname = path.dirname(__filename);
|
|
7
|
-
|
|
8
|
-
export class SteamProto {
|
|
9
|
-
constructor(proto) {
|
|
10
|
-
this._proto = proto;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
toProto() {
|
|
14
|
-
const root = new Protobuf.Root().loadSync(path.join(`${__dirname}/protos/`, this._proto.filename), {
|
|
15
|
-
keepCase: true,
|
|
16
|
-
});
|
|
17
|
-
return root[this._proto.name];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
protoEncode(obj) {
|
|
21
|
-
const protobuf = this.toProto();
|
|
22
|
-
return protobuf.encode(protobuf.create(obj)).finish();
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
protoEncodeBase64(obj) {
|
|
26
|
-
return this.protoEncode(obj).toString("base64");
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
protoDecode(obj) {
|
|
30
|
-
const protobuf = this.toProto();
|
|
31
|
-
return protobuf.toObject(protobuf.decode(obj), { defaults: true });
|
|
32
|
-
}
|
|
33
|
-
}
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { fileURLToPath } from "url";
|
|
3
|
+
import Protobuf from "protobufjs";
|
|
4
|
+
|
|
5
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = path.dirname(__filename);
|
|
7
|
+
|
|
8
|
+
export class SteamProto {
|
|
9
|
+
constructor(proto) {
|
|
10
|
+
this._proto = proto;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
toProto() {
|
|
14
|
+
const root = new Protobuf.Root().loadSync(path.join(`${__dirname}/protos/`, this._proto.filename), {
|
|
15
|
+
keepCase: true,
|
|
16
|
+
});
|
|
17
|
+
return root[this._proto.name];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
protoEncode(obj) {
|
|
21
|
+
const protobuf = this.toProto();
|
|
22
|
+
return protobuf.encode(protobuf.create(obj)).finish();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
protoEncodeBase64(obj) {
|
|
26
|
+
return this.protoEncode(obj).toString("base64");
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
protoDecode(obj) {
|
|
30
|
+
const protobuf = this.toProto();
|
|
31
|
+
return protobuf.toObject(protobuf.decode(obj), { defaults: true });
|
|
32
|
+
}
|
|
33
|
+
}
|
package/axios.js
CHANGED
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
import * as _axios from "axios";
|
|
2
|
-
import * as cheerio from "cheerio";
|
|
3
|
-
|
|
4
|
-
export class Header {
|
|
5
|
-
headers = {};
|
|
6
|
-
|
|
7
|
-
constructor(headers) {
|
|
8
|
-
if (typeof headers === "object" && Object.keys(headers).length) {
|
|
9
|
-
this.headers = this.validate(headers);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
validate(headers) {
|
|
14
|
-
headers = Object.keys(headers).reduce(function (previousValue, currentValue, currentIndex, array) {
|
|
15
|
-
previousValue[currentValue.toLowerCase()] = headers[currentValue]?.trim();
|
|
16
|
-
return previousValue;
|
|
17
|
-
}, {});
|
|
18
|
-
if (headers.cookie === undefined || headers.cookie === null) {
|
|
19
|
-
headers.cookie = "";
|
|
20
|
-
}
|
|
21
|
-
return headers;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
get(key) {
|
|
25
|
-
if (key === undefined) {
|
|
26
|
-
return { ...this.headers };
|
|
27
|
-
} else {
|
|
28
|
-
return this.headers[key.toLowerCase()];
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
set(key, value) {
|
|
33
|
-
if (typeof key === "string") {
|
|
34
|
-
this.headers[key.toLowerCase()] = value;
|
|
35
|
-
} else {
|
|
36
|
-
for (let _key in key) {
|
|
37
|
-
this.headers[_key.toLowerCase()] = key[_key];
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
this.headers = this.validate(this.headers);
|
|
41
|
-
return this;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const axios = _axios.default.create({
|
|
46
|
-
baseURL: "/",
|
|
47
|
-
timeout: 60000,
|
|
48
|
-
headers: {
|
|
49
|
-
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36",
|
|
50
|
-
},
|
|
51
|
-
validateStatus: () => true,
|
|
52
|
-
withCredentials: true,
|
|
53
|
-
maxContentLength: Infinity,
|
|
54
|
-
maxBodyLength: Infinity,
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
//debug
|
|
58
|
-
// axios.interceptors.request.use(function (config) {
|
|
59
|
-
// console_log(`[axios]`, config.method, config.url)
|
|
60
|
-
// return config
|
|
61
|
-
// }, function (error) {
|
|
62
|
-
// return Promise.reject(error)
|
|
63
|
-
// })
|
|
64
|
-
|
|
65
|
-
export async function request(config) {
|
|
66
|
-
try {
|
|
67
|
-
if (!config?.headers?.cookie) {
|
|
68
|
-
try {
|
|
69
|
-
delete config.headers.cookie;
|
|
70
|
-
} catch (e) {}
|
|
71
|
-
}
|
|
72
|
-
const result = await axios.request(config);
|
|
73
|
-
if (result.data && typeof result.data === "string") {
|
|
74
|
-
result._$ = function () {
|
|
75
|
-
return cheerio.load(result.data.replaceAll(/[\t\n\r]/gi, "").trim());
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
return result;
|
|
79
|
-
} catch (e) {
|
|
80
|
-
return {
|
|
81
|
-
error: e,
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
}
|
|
1
|
+
import * as _axios from "axios";
|
|
2
|
+
import * as cheerio from "cheerio";
|
|
3
|
+
|
|
4
|
+
export class Header {
|
|
5
|
+
headers = {};
|
|
6
|
+
|
|
7
|
+
constructor(headers) {
|
|
8
|
+
if (typeof headers === "object" && Object.keys(headers).length) {
|
|
9
|
+
this.headers = this.validate(headers);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
validate(headers) {
|
|
14
|
+
headers = Object.keys(headers).reduce(function (previousValue, currentValue, currentIndex, array) {
|
|
15
|
+
previousValue[currentValue.toLowerCase()] = headers[currentValue]?.trim();
|
|
16
|
+
return previousValue;
|
|
17
|
+
}, {});
|
|
18
|
+
if (headers.cookie === undefined || headers.cookie === null) {
|
|
19
|
+
headers.cookie = "";
|
|
20
|
+
}
|
|
21
|
+
return headers;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
get(key) {
|
|
25
|
+
if (key === undefined) {
|
|
26
|
+
return { ...this.headers };
|
|
27
|
+
} else {
|
|
28
|
+
return this.headers[key.toLowerCase()];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
set(key, value) {
|
|
33
|
+
if (typeof key === "string") {
|
|
34
|
+
this.headers[key.toLowerCase()] = value;
|
|
35
|
+
} else {
|
|
36
|
+
for (let _key in key) {
|
|
37
|
+
this.headers[_key.toLowerCase()] = key[_key];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
this.headers = this.validate(this.headers);
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const axios = _axios.default.create({
|
|
46
|
+
baseURL: "/",
|
|
47
|
+
timeout: 60000,
|
|
48
|
+
headers: {
|
|
49
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36",
|
|
50
|
+
},
|
|
51
|
+
validateStatus: () => true,
|
|
52
|
+
withCredentials: true,
|
|
53
|
+
maxContentLength: Infinity,
|
|
54
|
+
maxBodyLength: Infinity,
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
//debug
|
|
58
|
+
// axios.interceptors.request.use(function (config) {
|
|
59
|
+
// console_log(`[axios]`, config.method, config.url)
|
|
60
|
+
// return config
|
|
61
|
+
// }, function (error) {
|
|
62
|
+
// return Promise.reject(error)
|
|
63
|
+
// })
|
|
64
|
+
|
|
65
|
+
export async function request(config) {
|
|
66
|
+
try {
|
|
67
|
+
if (!config?.headers?.cookie) {
|
|
68
|
+
try {
|
|
69
|
+
delete config.headers.cookie;
|
|
70
|
+
} catch (e) {}
|
|
71
|
+
}
|
|
72
|
+
const result = await axios.request(config);
|
|
73
|
+
if (result.data && typeof result.data === "string") {
|
|
74
|
+
result._$ = function () {
|
|
75
|
+
return cheerio.load(result.data.replaceAll(/[\t\n\r]/gi, "").trim());
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
return result;
|
|
79
|
+
} catch (e) {
|
|
80
|
+
return {
|
|
81
|
+
error: e,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|