From 09d0e225c96f633f294515a3527f42f42dc3a283 Mon Sep 17 00:00:00 2001 From: hydrabolt Date: Thu, 19 Nov 2015 20:34:05 +0000 Subject: [PATCH] More docs --- docs/docs_client.rst | 75 ++++++++++++++++++++++++++++++++++++ lib/Client/Client.js | 21 +++++++++- lib/Client/InternalClient.js | 6 ++- src/Client/Client.js | 16 ++++++++ src/Client/InternalClient.js | 4 +- 5 files changed, 116 insertions(+), 6 deletions(-) diff --git a/docs/docs_client.rst b/docs/docs_client.rst index bc84cea3b..3987188d2 100644 --- a/docs/docs_client.rst +++ b/docs/docs_client.rst @@ -341,3 +341,78 @@ Sets the name and topic of a channel - **callback** - `function` taking the following: - **error** - error if any occurred + +startTyping(channel, `callback`) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Marks the client as typing in a channel. + +- **channel** - A `Channel Resolvable`_ +- **callback** - `function` taking the following: + + - **error** - error if any occurred + +stopTyping(channel, `callback`) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Marks the client as not typing in a channel (takes a few seconds to go active). + +- **channel** - A `Channel Resolvable`_ +- **callback** - `function` taking the following: + + - **error** - error if any occurred + +updateDetails(details, `callback`) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Updates the details of the client + +- **details** - `object` containing any of the following: + + - **avatar** - `Base64 Resolvable`_, new avatar of the client + - **email** - `String`, new email of the client + - **newPassword** - `String`, new password of the client + - **username** - `String`, new username of the client +- **callback** - `function` taking the following: + + - **error** - error if any occurred + +setAvatar(avatar, `callback`) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sets the avatar of the client + +- **avatar** - `Base64 Resolvable`_, new avatar of the client +- **callback** - `function` taking the following: + + - **error** - error if any occurred + +setUsername(name, `callback`) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sets the username of the client + +- **username** - `String`, new username of the Client +- **callback** - `function` taking the following: + + - **error** - error if any occurred + +joinVoiceChannel(channel, `callback`) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Joins a Voice Channel to begin transmitting audio + +- **channel** - A `VoiceChannel Resolvable`_ +- **callback** - `function` that takes the following: + + - **error** - error if any occurred + - **connection** - VoiceConnection_, the created Voice Connection. + +leaveVoiceChannel(`callback`) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Leaves the currently connected Voice Channel if connected + +- **callback** - `function` that takes the following: + + - **error** - error if any occurred diff --git a/lib/Client/Client.js b/lib/Client/Client.js index dca38e6f2..340bed0c3 100644 --- a/lib/Client/Client.js +++ b/lib/Client/Client.js @@ -591,13 +591,13 @@ var Client = (function (_EventEmitter) { //def setChannelName - Client.prototype.setChannelName = function setChannelName(channel, topic) { + Client.prototype.setChannelName = function setChannelName(channel, name) { var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err) {} : arguments[2]; var self = this; return new Promise(function (resolve, reject) { - self.internal.setChannelName(channel, topic).then(function () { + self.internal.setChannelName(channel, name).then(function () { callback(); resolve(); })["catch"](function (e) { @@ -748,6 +748,23 @@ var Client = (function (_EventEmitter) { }); }; + // def leaveVoiceChannel + + Client.prototype.leaveVoiceChannel = function leaveVoiceChannel() { + var callback = arguments.length <= 0 || arguments[0] === undefined ? function (err) {} : arguments[0]; + + var self = this; + return new Promise(function (resolve, reject) { + self.internal.leaveVoiceChannel().then(function () { + callback(); + resolve(); + })["catch"](function (err) { + callback(err); + reject(err); + }); + }); + }; + _createClass(Client, [{ key: "users", get: function get() { diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index 71b0ab86a..c30045f1d 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -91,7 +91,9 @@ var InternalClient = (function () { endpoint = data.d.endpoint; var chan = self.voiceConnection = new VoiceConnection(channel, self.client, session, token, server, endpoint); - chan.on("ready", resolve); + chan.on("ready", function () { + return resolve(chan); + }); chan.on("error", reject); self.client.emit("debug", "removed temporary voice websocket listeners"); @@ -990,7 +992,7 @@ var InternalClient = (function () { request.patch(Endpoints.ME).set("authorization", self.token).send({ avatar: self.resolver.resolveToBase64(data.avatar) || self.user.avatar, email: data.email || self.email, - new_password: data.new_password || null, + new_password: data.newPassword || null, password: data.password || self.password, username: data.username || self.user.username }).end(function (err) { diff --git a/src/Client/Client.js b/src/Client/Client.js index 7af266599..d24e1d4ae 100644 --- a/src/Client/Client.js +++ b/src/Client/Client.js @@ -743,6 +743,22 @@ class Client extends EventEmitter { }); } + + // def leaveVoiceChannel + leaveVoiceChannel(callback = function (err) { }) { + var self = this; + return new Promise((resolve, reject) => { + self.internal.leaveVoiceChannel() + .then(() => { + callback(); + resolve(); + }) + .catch(err => { + callback(err); + reject(err); + }); + }); + } } module.exports = Client; \ No newline at end of file diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index 4d3937b67..02111ded1 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -87,7 +87,7 @@ class InternalClient { endpoint = data.d.endpoint; var chan = self.voiceConnection = new VoiceConnection(channel, self.client, session, token, server, endpoint); - chan.on("ready", resolve); + chan.on("ready", () => resolve(chan)); chan.on("error", reject); self.client.emit("debug", "removed temporary voice websocket listeners"); @@ -1058,7 +1058,7 @@ class InternalClient { .send({ avatar: self.resolver.resolveToBase64(data.avatar) || self.user.avatar, email : data.email || self.email, - new_password : data.new_password || null, + new_password : data.newPassword || null, password : data.password || self.password, username : data.username || self.user.username })