mirror of
https://github.com/DoctorMcKay/node-steamcommunity.git
synced 2026-08-23 07:03:29 +08:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4da22c464 | ||
|
|
0f91adf819 | ||
|
|
d51c171a48 | ||
|
|
50276c3a0c | ||
|
|
b5b50cec50 | ||
|
|
cf4b474c70 | ||
|
|
bf2b4601ee |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,5 +1,6 @@
|
||||
node_modules/*
|
||||
node_modules/
|
||||
test.js
|
||||
dev/
|
||||
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
@@ -166,6 +166,14 @@ CSteamUser.prototype.inviteToGroup = function(groupID, callback) {
|
||||
this._community.inviteUserToGroup(this.steamID, groupID, callback);
|
||||
};
|
||||
|
||||
CSteamUser.prototype.follow = function(callback) {
|
||||
this._community.followUser(this.steamID, callback);
|
||||
};
|
||||
|
||||
CSteamUser.prototype.unfollow = function(callback) {
|
||||
this._community.unfollowUser(this.steamID, callback);
|
||||
};
|
||||
|
||||
CSteamUser.prototype.getAliases = function(callback) {
|
||||
this._community.getUserAliases(this.steamID, callback);
|
||||
};
|
||||
|
||||
@@ -175,11 +175,11 @@ SteamCommunity.prototype.postGroupAnnouncement = function(gid, headline, content
|
||||
"languages[0][headline]": headline,
|
||||
"languages[0][body]": content
|
||||
};
|
||||
|
||||
|
||||
if(hidden) {
|
||||
form.is_hidden = "is_hidden"
|
||||
}
|
||||
|
||||
|
||||
this.httpRequestPost({
|
||||
"uri": "https://steamcommunity.com/gid/" + gid.getSteamID64() + "/announcements",
|
||||
form
|
||||
@@ -669,7 +669,7 @@ SteamCommunity.prototype.respondToGroupJoinRequests = function(gid, steamIDs, ap
|
||||
if (typeof gid === 'string') {
|
||||
gid = new SteamID(gid);
|
||||
}
|
||||
|
||||
|
||||
var rgAccounts = (!Array.isArray(steamIDs) ? [steamIDs] : steamIDs).map(sid => sid.toString());
|
||||
|
||||
this.httpRequestPost({
|
||||
@@ -730,3 +730,69 @@ SteamCommunity.prototype.respondToAllGroupJoinRequests = function(gid, approve,
|
||||
}
|
||||
}, "steamcommunity");
|
||||
};
|
||||
|
||||
/**
|
||||
* Follows a curator page
|
||||
* @param {string|number} curatorId - ID of the curator (not a SteamID)
|
||||
* @param {function} callback - Takes only an Error object/null as the first argument
|
||||
*/
|
||||
SteamCommunity.prototype.followCurator = function(curatorId, callback) {
|
||||
this.httpRequestPost({
|
||||
"uri": "https://store.steampowered.com/curators/ajaxfollow",
|
||||
"form": {
|
||||
"clanid": curatorId,
|
||||
"sessionid": this.getSessionID(),
|
||||
"follow": 1
|
||||
},
|
||||
"json": true
|
||||
}, (err, res, body) => {
|
||||
if (!callback) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (err) {
|
||||
callback(err);
|
||||
return;
|
||||
}
|
||||
|
||||
if (body.success && body.success.success != SteamCommunity.EResult.OK) {
|
||||
callback(Helpers.eresultError(body.success.success));
|
||||
return;
|
||||
}
|
||||
|
||||
callback(null);
|
||||
}, "steamcommunity");
|
||||
};
|
||||
|
||||
/**
|
||||
* Unfollows a curator page
|
||||
* @param {string|number} curatorId - ID of the curator (not a SteamID)
|
||||
* @param {function} callback - Takes only an Error object/null as the first argument
|
||||
*/
|
||||
SteamCommunity.prototype.unfollowCurator = function(curatorId, callback) {
|
||||
this.httpRequestPost({
|
||||
"uri": "https://store.steampowered.com/curators/ajaxfollow",
|
||||
"form": {
|
||||
"clanid": curatorId,
|
||||
"sessionid": this.getSessionID(),
|
||||
"follow": 0
|
||||
},
|
||||
"json": true
|
||||
}, (err, res, body) => {
|
||||
if (!callback) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (err) {
|
||||
callback(err);
|
||||
return;
|
||||
}
|
||||
|
||||
if (body.success && body.success.success != SteamCommunity.EResult.OK) {
|
||||
callback(Helpers.eresultError(body.success.success));
|
||||
return;
|
||||
}
|
||||
|
||||
callback(null);
|
||||
}, "steamcommunity");
|
||||
};
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
const EResult = require('../resources/EResult.js');
|
||||
const request = require('request');
|
||||
const SteamID = require('steamid');
|
||||
const xml2js = require('xml2js');
|
||||
|
||||
const EResult = require('../resources/EResult.js');
|
||||
|
||||
exports.isSteamID = function(input) {
|
||||
var keys = Object.keys(input);
|
||||
if (keys.length != 4) {
|
||||
@@ -105,4 +107,22 @@ exports.resolveVanityURL = function(url, callback) {
|
||||
callback(null, {"vanityURL": vanityURL, "steamID": steamID64});
|
||||
});
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Converts `input` into a SteamID object, if it's a parseable string.
|
||||
* @param {SteamID|string} input
|
||||
* @return {SteamID}
|
||||
*/
|
||||
exports.steamID = function(input) {
|
||||
if (exports.isSteamID(input)) {
|
||||
return input;
|
||||
}
|
||||
|
||||
if (typeof input != 'string') {
|
||||
throw new Error(`Input SteamID value "${input}" is not a string`);
|
||||
}
|
||||
|
||||
// This will throw if the input is not a well-formed SteamID
|
||||
return new SteamID(input);
|
||||
};
|
||||
|
||||
@@ -296,6 +296,66 @@ SteamCommunity.prototype.inviteUserToGroup = function(userID, groupID, callback)
|
||||
}, "steamcommunity");
|
||||
};
|
||||
|
||||
SteamCommunity.prototype.followUser = function(userID, callback) {
|
||||
if(typeof userID === 'string') {
|
||||
userID = new SteamID(userID);
|
||||
}
|
||||
|
||||
this.httpRequestPost({
|
||||
"uri": `https://steamcommunity.com/profiles/${userID.toString()}/followuser/`,
|
||||
"form": {
|
||||
"sessionid": this.getSessionID(),
|
||||
},
|
||||
"json": true
|
||||
}, function(err, response, body) {
|
||||
if (!callback) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (err) {
|
||||
callback(err);
|
||||
return;
|
||||
}
|
||||
|
||||
if (body.success && body.success != SteamCommunity.EResult.OK) {
|
||||
callback(Helpers.eresultError(body.success));
|
||||
return;
|
||||
}
|
||||
|
||||
callback(null);
|
||||
}, "steamcommunity");
|
||||
};
|
||||
|
||||
SteamCommunity.prototype.unfollowUser = function(userID, callback) {
|
||||
if(typeof userID === 'string') {
|
||||
userID = new SteamID(userID);
|
||||
}
|
||||
|
||||
this.httpRequestPost({
|
||||
"uri": `https://steamcommunity.com/profiles/${userID.toString()}/unfollowuser/`,
|
||||
"form": {
|
||||
"sessionid": this.getSessionID(),
|
||||
},
|
||||
"json": true
|
||||
}, function(err, response, body) {
|
||||
if (!callback) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (err) {
|
||||
callback(err);
|
||||
return;
|
||||
}
|
||||
|
||||
if (body.success && body.success != SteamCommunity.EResult.OK) {
|
||||
callback(Helpers.eresultError(body.success));
|
||||
return;
|
||||
}
|
||||
|
||||
callback(null);
|
||||
}, "steamcommunity");
|
||||
};
|
||||
|
||||
SteamCommunity.prototype.getUserAliases = function(userID, callback) {
|
||||
if (typeof userID === 'string') {
|
||||
userID = new SteamID(userID);
|
||||
|
||||
11
package.json
11
package.json
@@ -1,7 +1,14 @@
|
||||
{
|
||||
"name": "steamcommunity",
|
||||
"version": "3.46.1",
|
||||
"version": "3.47.0",
|
||||
"description": "Provides an interface for logging into and interacting with the Steam Community website",
|
||||
"files": [
|
||||
"/classes",
|
||||
"/components",
|
||||
"/examples",
|
||||
"/resources",
|
||||
"/index.js"
|
||||
],
|
||||
"keywords": [
|
||||
"steam",
|
||||
"steam community"
|
||||
@@ -28,7 +35,7 @@
|
||||
"request": "^2.88.0",
|
||||
"steam-totp": "^1.5.0",
|
||||
"steamid": "^1.1.3",
|
||||
"xml2js": "^0.4.22"
|
||||
"xml2js": "^0.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"steam-session": "^1.2.3"
|
||||
|
||||
Reference in New Issue
Block a user