mirror of
https://github.com/DoctorMcKay/node-steamcommunity.git
synced 2026-08-21 22:23:28 +08:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4542793175 | ||
|
|
d18a0244ec | ||
|
|
b1c772d9b9 | ||
|
|
b9ec1ccfb5 | ||
|
|
0c7c030f78 | ||
|
|
e5f1f14aad | ||
|
|
0f72ea7d93 | ||
|
|
d1906a2c83 | ||
|
|
3964af7ade | ||
|
|
5a5c5373aa | ||
|
|
ec60e1b73e | ||
|
|
a22a75d4e1 | ||
|
|
313753bb05 | ||
|
|
459fe4d8b1 | ||
|
|
489c0441a5 |
@@ -60,6 +60,12 @@ function CEconItem(item, description, contextID) {
|
||||
});
|
||||
}
|
||||
|
||||
// Restore market_fee_app, if applicable
|
||||
var match;
|
||||
if (this.appid == 753 && this.contextid == 6 && this.market_hash_name && (match = this.market_hash_name.match(/^(\d+)\-/))) {
|
||||
this.market_fee_app = parseInt(match[1], 10);
|
||||
}
|
||||
|
||||
if (this.actions === "") {
|
||||
this.actions = [];
|
||||
}
|
||||
|
||||
@@ -108,6 +108,8 @@ function CSteamUser(community, userData, customurl) {
|
||||
CSteamUser.getAvatarURL = function(hash, size, protocol) {
|
||||
size = size || '';
|
||||
protocol = protocol || 'http://';
|
||||
|
||||
hash = hash || "72f78b4c8cc1f62323f8a33f6d53e27db57c2252"; // The default "?" avatar
|
||||
|
||||
var url = protocol + "steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/" + hash.substring(0, 2) + "/" + hash;
|
||||
if(size == 'full' || size == 'medium') {
|
||||
|
||||
@@ -49,7 +49,7 @@ SteamCommunity.prototype.getInventoryHistory = function(options, callback) {
|
||||
|
||||
var $ = Cheerio.load(body);
|
||||
if (!$('.inventory_history_pagingrow').html()) {
|
||||
callback("Malformed page: no paging row found");
|
||||
callback(new Error("Malformed page: no paging row found"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -368,14 +368,37 @@ SteamCommunity.prototype.getUserInventoryContents = function(userID, appID, cont
|
||||
if (err) {
|
||||
if (err.message == "HTTP error 403" && body === null) {
|
||||
// 403 with a body of "null" means the inventory/profile is private.
|
||||
if(userID.getSteamID64() == self.steamID.getSteamID64()) {
|
||||
// We can never get private profile error for our own inventory!
|
||||
self._notifySessionExpired(err);
|
||||
}
|
||||
|
||||
callback(new Error("This profile is private."));
|
||||
return;
|
||||
}
|
||||
|
||||
if (err.message == "HTTP error 500" && body && body.error) {
|
||||
err = new Error(body.error);
|
||||
|
||||
var match = body.error.match(/^(.+) \((\d+)\)$/);
|
||||
if (match) {
|
||||
err.message = match[1];
|
||||
err.eresult = match[2];
|
||||
callback(err);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
callback(err);
|
||||
return;
|
||||
}
|
||||
|
||||
if (body && body.success && body.total_inventory_count === 0) {
|
||||
// Empty inventory
|
||||
callback(null, [], [], 0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!body || !body.success || !body.assets || !body.descriptions) {
|
||||
if (body) {
|
||||
// Dunno if the error/Error property even exists on this new endpoint
|
||||
|
||||
10
index.js
10
index.js
@@ -3,7 +3,7 @@ var RSA = require('node-bignumber').Key;
|
||||
var hex2b64 = require('node-bignumber').hex2b64;
|
||||
var SteamID = require('steamid');
|
||||
|
||||
const USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36";
|
||||
const USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36";
|
||||
|
||||
require('util').inherits(SteamCommunity, require('events').EventEmitter);
|
||||
|
||||
@@ -45,7 +45,7 @@ function SteamCommunity(options) {
|
||||
defaults.localAddress = options.localAddress;
|
||||
}
|
||||
|
||||
this.request = options.request || Request.defaults();
|
||||
this.request = options.request || Request.defaults({"forever": true}); // "forever" indicates that we want a keep-alive agent
|
||||
this.request = this.request.defaults(defaults);
|
||||
|
||||
// English
|
||||
@@ -56,7 +56,11 @@ function SteamCommunity(options) {
|
||||
}
|
||||
|
||||
SteamCommunity.prototype.login = function(details, callback) {
|
||||
if(details.steamguard) {
|
||||
if (!details.accountName || !details.password) {
|
||||
throw new Error("Missing either accountName or password to login; both are needed");
|
||||
}
|
||||
|
||||
if (details.steamguard) {
|
||||
var parts = details.steamguard.split('||');
|
||||
this._setCookie(Request.cookie('steamMachineAuth' + parts[0] + '=' + encodeURIComponent(parts[1])), true);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "steamcommunity",
|
||||
"version": "3.30.0",
|
||||
"version": "3.30.5",
|
||||
"description": "Provides an interface for logging into and interacting with the Steam Community website",
|
||||
"keywords": ["steam", "steam community"],
|
||||
"homepage": "https://github.com/DoctorMcKay/node-steamcommunity",
|
||||
@@ -17,8 +17,8 @@
|
||||
"node-bignumber": "^1.2.1",
|
||||
"steamid": "^1.0.0",
|
||||
"xml2js": "^0.4.11",
|
||||
"cheerio": "0.19.0",
|
||||
"async": "^1.4.2",
|
||||
"cheerio": "0.22.0",
|
||||
"async": "^2.1.4",
|
||||
"steam-totp": "^1.3.0"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
Reference in New Issue
Block a user