From 6b18f42728ccc0142b5878b633d8639c336b68a9 Mon Sep 17 00:00:00 2001 From: hydrabolt Date: Tue, 27 Oct 2015 21:20:29 +0000 Subject: [PATCH] More docs --- docs/docs_permissions.rst | 80 +++++++++++++++++++++++++++++++++++++++ docs/vars.rst | 5 ++- lib/ServerPermissions.js | 6 ++- src/ServerPermissions.js | 6 ++- 4 files changed, 94 insertions(+), 3 deletions(-) create mode 100644 docs/docs_permissions.rst diff --git a/docs/docs_permissions.rst b/docs/docs_permissions.rst new file mode 100644 index 000000000..35c36ed72 --- /dev/null +++ b/docs/docs_permissions.rst @@ -0,0 +1,80 @@ +.. include:: ./vars.rst + +Permissions Documentation +========================= + +The Permissions Class represents data of permissions/roles. + +ServerPermissions +----------------- + +ServerPermissions are also known as roles. They give the general gist of permissions of all users in a Server. + +name +~~~~ + +`String` that is the name of the role. + +color +~~~~~ + +`Number` that is the color of role, use Discord.Color to resolve (see source code under refs/colors.js) + +hoist +~~~~~ + +`Boolean`, whether the role should be a separate category in the users list. + +managed +~~~~~~~ + +`Boolean`, whether the permission is managed by Discord. Currently only used by Twitch integration. + +position +~~~~~~~~ + +`Number`, the position of the role that states its importance. + +id +~~ + +`Number`, the ID of the role. + +server +~~~~~~ + +Server_ that the role belongs to. + +Actual Permissions: +~~~~~~~~~~~~~~~~~~~ + +`Actual Permissions` is not an attribute, however the following permissions are attributes of ServerPermissions. They are self-explanatory. + +.. code-block:: js + + { + createInstantInvite, + manageRoles, // if this is true all the others are true + manageChannels, + readMessages, + sendMessages, + sendTTSMessages, + manageMessages, // deleting, editing etc + embedLinks, + attachFiles, + readMessageHistory, + mentionEveryone, + voiceConnect, + voiceSpeak, + voiceMuteMembers, + voiceDeafenMembers, + voiceMoveMembers, + voiceUseVoiceActivation + } + +serialize() +~~~~~~~~~~~ + +**Aliases** : *serialise()* + +To get a valid `Object` of the actual permissions of the object, just do `serverPermissions.serialise()` to get an object with the above mentioned permissions \ No newline at end of file diff --git a/docs/vars.rst b/docs/vars.rst index ad4b9720a..184af167e 100644 --- a/docs/vars.rst +++ b/docs/vars.rst @@ -8,4 +8,7 @@ .. _Invite : ./docs_invite.html .. _Channel Resolvable : ./docs_resolvable.html#channel-resolvable .. _Invite Resolvable : ./docs_resolvable.html#invite-resolvable -.. _Promises : https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise \ No newline at end of file +.. _Promises : https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise +.. _ServerPermissions : ./docs_permissions.html#ServerPermissions +.. _ChannelPermissions : ./docs_permissions.html#ChannelPermissions +.. _EvaluatedPermissions : ./docs_permissions.html#EvaluatedPermissions \ No newline at end of file diff --git a/lib/ServerPermissions.js b/lib/ServerPermissions.js index e6bfd4bb5..79770f8e2 100644 --- a/lib/ServerPermissions.js +++ b/lib/ServerPermissions.js @@ -41,11 +41,15 @@ var ServerPermissions = (function () { voiceSpeak: this.voiceSpeak, voiceMuteMembers: this.voiceMuteMembers, voiceDeafenMembers: this.voiceDeafenMembers, - voiceMoveMember: this.voiceMoveMembers, + voiceMoveMembers: this.voiceMoveMembers, voiceUseVoiceActivation: this.voiceUseVoiceActivation }; }; + ServerPermissions.prototype.serialize = function serialize() { + return this.serialise(); + }; + ServerPermissions.prototype.getBit = function getBit(x) { if ((this.packed >>> 3 & 1) === 1) { return true; diff --git a/src/ServerPermissions.js b/src/ServerPermissions.js index f7bf0d3c0..c4e799a11 100644 --- a/src/ServerPermissions.js +++ b/src/ServerPermissions.js @@ -35,10 +35,14 @@ class ServerPermissions { voiceSpeak: this.voiceSpeak, voiceMuteMembers: this.voiceMuteMembers, voiceDeafenMembers: this.voiceDeafenMembers, - voiceMoveMember: this.voiceMoveMembers, + voiceMoveMembers: this.voiceMoveMembers, voiceUseVoiceActivation: this.voiceUseVoiceActivation } } + + serialize(){ + return this.serialise(); + } get createInstantInvite() { return this.getBit(0); } set createInstantInvite(val) { this.setBit(0, val); }