diff --git a/lib/Client/Client.js b/lib/Client/Client.js index 2ebdaa0fb..b24c74947 100644 --- a/lib/Client/Client.js +++ b/lib/Client/Client.js @@ -550,9 +550,9 @@ var Client = (function (_EventEmitter) { /** * Client accepts the specified invite to join a server. If the Client is already in the server, the promise/callback resolve immediately. - * @param {InviteResolvable} invite invite to the server + * @param {InviteIDResolvable} invite invite to the server * @param {function(err: Error, server: Server)} [callback] callback to the method. - * @returns {Promise} resolves with the newly joined server if succesful, reject with an error if not. + * @returns {Promise} resolves with the newly joined server if succesful, rejects with an error if not. * @example * // join a server - callback * client.joinServer("https://discord.gg/0BwZcrFhUKZ55bJL", function(err, server){ @@ -573,7 +573,25 @@ var Client = (function (_EventEmitter) { return this.internal.joinServer(invite).then(dataCallback(callback), errorCallback(callback)); }; - // def createServer + /** + * Creates a Discord Server and joins it + * @param {string} name the name of the server + * @param {region} [region=london] the region of the server + * @param {function(err: Error, server: Server)} [callback] callback to the method + * @returns {Promise} resolves with the newly created server if successful, rejects with an error if not. + * @example + * //creating a server - callback + * client.createServer("discord.js", "london", function(err, server){ + * if(err){ + * console.log("could not create server"); + * } + * }); + * @example + * //creating a server - promises + * client.createServer("discord.js", "london") + * .then(server => console.log("Made server!")) + * .catch(error => console.log("Couldn't make server!")); + */ Client.prototype.createServer = function createServer(name) { var region = arguments.length <= 1 || arguments[1] === undefined ? "london" : arguments[1]; @@ -582,7 +600,12 @@ var Client = (function (_EventEmitter) { return this.internal.createServer(name, region).then(dataCallback(callback), errorCallback(callback)); }; - // def leaveServer + /** + * Leaves a Discord Server + * @param {ServerResolvable} server the server to leave + * @param {function(err: Error)} [callback] callback to the method + * @returns {Promise} resolves null if successful, otherwise rejects with an error. + */ Client.prototype.leaveServer = function leaveServer(server) { var callback = arguments.length <= 1 || arguments[1] === undefined ? function () /*err, {}*/{} : arguments[1]; @@ -604,7 +627,12 @@ var Client = (function (_EventEmitter) { return this.internal.updateServer(server, name, region).then(dataCallback(callback), errorCallback(callback)); }; - // def deleteServer + /** + * Leaves a Discord Server, alias to `client.leaveServer` + * @param {ServerResolvable} server the server to leave + * @param {function(err: Error)} [callback] callback to the method + * @returns {Promise} resolves null if successful, otherwise rejects with an error. + */ Client.prototype.deleteServer = function deleteServer(server) { var callback = arguments.length <= 1 || arguments[1] === undefined ? function () /*err, {}*/{} : arguments[1]; diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index 70e74dbfe..0df7170c9 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -1637,8 +1637,9 @@ var InternalClient = (function () { case _Constants.PacketType.SERVER_MEMBER_UPDATE: var server = self.servers.get("id", data.guild_id); if (server) { - var user = self.users.get("id", data.user.id); + var user = self.users.add(new _StructuresUser2["default"](data.user, client)); if (user) { + server.memberMap[data.user.id] = server.memberMap[data.user.id] || {}; server.memberMap[data.user.id].roles = data.roles.map(function (pid) { return server.roles.get("id", pid); }); diff --git a/lib/Client/Resolver/Resolver.js b/lib/Client/Resolver/Resolver.js index 29d6756e1..c3cf76f0c 100644 --- a/lib/Client/Resolver/Resolver.js +++ b/lib/Client/Resolver/Resolver.js @@ -25,6 +25,10 @@ * Resolves supplied data type to something that can be attached to a message. If a String, it can be an URL or a path to a local file. * @typedef {(String|ReadableStream|Buffer)} FileResolvable */ +/** + * Resolves supplied data type to an invite ID. If a String, it should be an ID or a direct URL to the invite. + * @typedef {(Invite|String)} InviteIDResolvable + */ exports.__esModule = true; diff --git a/lib/Structures/Server.js b/lib/Structures/Server.js index a670d0f25..affef987d 100644 --- a/lib/Structures/Server.js +++ b/lib/Structures/Server.js @@ -1,5 +1,10 @@ "use strict"; +/** + * Types of region for a server, include: `us-west`, `us-east`, `us-south`, `us-central`, `singapore`, `london`, `sydney`, `amsterdam` and `frankfurt` + * @typedef {(string)} region + */ + exports.__esModule = true; var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); diff --git a/lib/Util/TokenCacher-shim.js b/lib/Util/TokenCacher-shim.js index f483e9575..53412d365 100644 --- a/lib/Util/TokenCacher-shim.js +++ b/lib/Util/TokenCacher-shim.js @@ -6,23 +6,23 @@ exports.__esModule = true; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var TokenCacher = (function () { - function TokenCacher() { - _classCallCheck(this, TokenCacher); - } + function TokenCacher() { + _classCallCheck(this, TokenCacher); + } - TokenCacher.prototype.setToken = function setToken() {}; + TokenCacher.prototype.setToken = function setToken() {}; - TokenCacher.prototype.save = function save() {}; + TokenCacher.prototype.save = function save() {}; - TokenCacher.prototype.getToken = function getToken() { - return null; - }; + TokenCacher.prototype.getToken = function getToken() { + return null; + }; - TokenCacher.prototype.init = function init(ind) { - this.done = true; - }; + TokenCacher.prototype.init = function init(ind) { + this.done = true; + }; - return TokenCacher; + return TokenCacher; })(); exports["default"] = TokenCacher; diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index 1d1838383..438d7b1ed 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -1424,8 +1424,9 @@ export default class InternalClient { case PacketType.SERVER_MEMBER_UPDATE: var server = self.servers.get("id", data.guild_id); if (server) { - var user = self.users.get("id", data.user.id); + var user = self.users.add(new User(data.user, client)); if (user) { + server.memberMap[data.user.id] = server.memberMap[data.user.id] || {}; server.memberMap[data.user.id].roles = data.roles.map(pid => server.roles.get("id", pid)); server.memberMap[data.user.id].mute = data.mute; server.memberMap[data.user.id].self_mute = data.self_mute; diff --git a/src/Structures/Server.js b/src/Structures/Server.js index 442d85049..2e0d048aa 100644 --- a/src/Structures/Server.js +++ b/src/Structures/Server.js @@ -19,6 +19,7 @@ var strictKeys = [ ]; export default class Server extends Equality { + constructor(data, client) { super();