Moved permissions to get/set

the grind was unreal
This commit is contained in:
hydrabolt
2015-10-03 23:50:21 +01:00
parent aed7d3c1c2
commit 780369b90a
6 changed files with 613 additions and 138 deletions

View File

@@ -22,33 +22,66 @@ class ChannelPermissions{
this.deny = data.deny;
this.allow = data.allow;
this.createInstantInvite = getBit(0);
//this.banMembers = getBit(1);
//this.kickMembers = getBit(2);
this.managePermissions = getBit(3);
this.manageChannels = getBit(4);
//this.manageServer = getBit(5);
this.readMessages = getBit(10);
this.sendMessages = getBit(11);
this.sendTTSMessages = getBit(12);
this.manageMessages = getBit(13);
this.embedLinks = getBit(14);
this.attachFiles = getBit(15);
this.readMessageHistory = getBit(16);
this.mentionEveryone = getBit(17);
this.voiceConnect = getBit(20);
this.voiceSpeak = getBit(21);
this.voiceMuteMembers = getBit(22);
this.voiceDeafenMembers = getBit(23);
this.voiceMoveMembers = getBit(24);
this.voiceUseVoiceActivation = getBit(25);
}
get createInstantInvite(){return this.getBit(0);}
set createInstantInvite(val){this.setBit(0, val);}
get manageRoles(){return this.getBit(3);}
set manageRoles(val){this.setBit(3, val);}
get manageChannels(){return this.getBit(4);}
set manageChannels(val){this.setBit(4, val);}
get readMessages(){return this.getBit(10);}
set readMessages(val){this.setBit(10, val);}
get sendMessages(){return this.getBit(11);}
set sendMessages(val){this.setBit(11, val);}
get sendTTSMessages(){return this.getBit(12);}
set sendTTSMessages(val){this.setBit(12, val);}
get manageMessages(){return this.getBit(13);}
set manageMessages(val){this.setBit(13, val);}
get embedLinks(){return this.getBit(14);}
set embedLinks(val){this.setBit(14, val);}
get attachFiles(){return this.getBit(15);}
set attachFiles(val){this.setBit(15, val);}
get readMessageHistory(){return this.getBit(16);}
set readMessageHistory(val){this.setBit(16, val);}
get mentionEveryone(){return this.getBit(17);}
set mentionEveryone(val){this.setBit(17, val);}
get voiceConnect(){return this.getBit(20);}
set voiceConnect(val){this.setBit(20, val);}
get voiceSpeak(){return this.getBit(21);}
set voiceSpeak(val){this.setBit(21, val);}
get voiceMuteMembers(){return this.getBit(22);}
set voiceMuteMembers(val){this.setBit(22, val);}
get voiceDeafenMembers(){return this.getBit(23);}
set voiceDeafenMembers(val){this.setBit(23, val);}
get voiceMoveMembers(){return this.getBit(24);}
set voiceMoveMembers(val){this.setBit(24, val);}
get voiceUseVoiceActivation(){return this.getBit(25);}
set voiceUseVoiceActivation(val){this.setBit(25, val);}
getBit(x) {
return ((this.packed >>> x) & 1) === 1;
}
setBit() {
}
}
module.exports = ChannelPermissions;

View File

@@ -1,44 +1,76 @@
class EvaluatedPermissions{
constructor(data){
class EvaluatedPermissions {
constructor(data) {
var self = this;
function getBit(x) {
if(((self.packed >>> 3) & 1) === 1){
if (((self.packed >>> 3) & 1) === 1) {
return true;
}
return ((self.packed >>> x) & 1) === 1;
}
this.packed = data;
this.createInstantInvite = getBit(0);
//this.banMembers = getBit(1);
//this.kickMembers = getBit(2);
this.managePermissions = getBit(3);
this.manageChannels = getBit(4);
//this.manageServer = getBit(5);
this.readMessages = getBit(10);
this.sendMessages = getBit(11);
this.sendTTSMessages = getBit(12);
this.manageMessages = getBit(13);
this.embedLinks = getBit(14);
this.attachFiles = getBit(15);
this.readMessageHistory = getBit(16);
this.mentionEveryone = getBit(17);
this.voiceConnect = getBit(20);
this.voiceSpeak = getBit(21);
this.voiceMuteMembers = getBit(22);
this.voiceDeafenMembers = getBit(23);
this.voiceMoveMembers = getBit(24);
this.voiceUseVoiceActivation = getBit(25);
}
get createInstantInvite() { return this.getBit(0); }
set createInstantInvite(val) { this.setBit(0, val); }
get manageRoles() { return this.getBit(3); }
set manageRoles(val) { this.setBit(3, val); }
get manageChannels() { return this.getBit(4); }
set manageChannels(val) { this.setBit(4, val); }
get readMessages() { return this.getBit(10); }
set readMessages(val) { this.setBit(10, val); }
get sendMessages() { return this.getBit(11); }
set sendMessages(val) { this.setBit(11, val); }
get sendTTSMessages() { return this.getBit(12); }
set sendTTSMessages(val) { this.setBit(12, val); }
get manageMessages() { return this.getBit(13); }
set manageMessages(val) { this.setBit(13, val); }
get embedLinks() { return this.getBit(14); }
set embedLinks(val) { this.setBit(14, val); }
get attachFiles() { return this.getBit(15); }
set attachFiles(val) { this.setBit(15, val); }
get readMessageHistory() { return this.getBit(16); }
set readMessageHistory(val) { this.setBit(16, val); }
get mentionEveryone() { return this.getBit(17); }
set mentionEveryone(val) { this.setBit(17, val); }
get voiceConnect() { return this.getBit(20); }
set voiceConnect(val) { this.setBit(20, val); }
get voiceSpeak() { return this.getBit(21); }
set voiceSpeak(val) { this.setBit(21, val); }
get voiceMuteMembers() { return this.getBit(22); }
set voiceMuteMembers(val) { this.setBit(22, val); }
get voiceDeafenMembers() { return this.getBit(23); }
set voiceDeafenMembers(val) { this.setBit(23, val); }
get voiceMoveMembers() { return this.getBit(24); }
set voiceMoveMembers(val) { this.setBit(24, val); }
get voiceUseVoiceActivation() { return this.getBit(25); }
set voiceUseVoiceActivation(val) { this.setBit(25, val); }
getBit(x) {
return ((this.packed >>> x) & 1) === 1;
}
setBit() {
}
}
module.exports = EvaluatedPermissions;

View File

@@ -12,36 +12,76 @@ class ServerPermissions {
this.name = data.name;
this.id = data.id;
this.banMembers = getBit(1);
this.kickMembers = getBit(2);
this.manageRoles = getBit(3);
this.manageChannels = getBit(4);
this.manageServer = getBit(5);
this.readMessages = getBit(10);
this.sendMessages = getBit(11);
this.sendTTSMessages = getBit(12);
this.manageMessages = getBit(13);
this.embedLinks = getBit(14);
this.attachFiles = getBit(15);
this.readMessageHistory = getBit(16);
this.mentionEveryone = getBit(17);
this.voiceConnect = getBit(20);
this.voiceSpeak = getBit(21);
this.voiceMuteMembers = getBit(22);
this.voiceDeafenMembers = getBit(23);
this.voiceMoveMembers = getBit(24);
this.voiceUseVoiceActivation = getBit(25);
}
get createInstantInvite(){return this.getBit(0);}
set createInstantInvite(val){this.setBit(0, val);}
get banMembers(){return this.getBit(1);}
set banMembers(val){this.setBit(1, val);}
get kickMembers(){return this.getBit(2);}
set kickMembers(val){this.setBit(2, val);}
get manageRoles(){return this.getBit(3);}
set manageRoles(val){this.setBit(3, val);}
get manageChannels(){return this.getBit(4);}
set manageChannels(val){this.setBit(4, val);}
get manageServer(){return this.getBit(5);}
set manageServer(val){this.setBit(5, val);}
get readMessages(){return this.getBit(10);}
set readMessages(val){this.setBit(10, val);}
get sendMessages(){return this.getBit(11);}
set sendMessages(val){this.setBit(11, val);}
get sendTTSMessages(){return this.getBit(12);}
set sendTTSMessages(val){this.setBit(12, val);}
get manageMessages(){return this.getBit(13);}
set manageMessages(val){this.setBit(13, val);}
get embedLinks(){return this.getBit(14);}
set embedLinks(val){this.setBit(14, val);}
get attachFiles(){return this.getBit(15);}
set attachFiles(val){this.setBit(15, val);}
get readMessageHistory(){return this.getBit(16);}
set readMessageHistory(val){this.setBit(16, val);}
get mentionEveryone(){return this.getBit(17);}
set mentionEveryone(val){this.setBit(17, val);}
get voiceConnect(){return this.getBit(20);}
set voiceConnect(val){this.setBit(20, val);}
get voiceSpeak(){return this.getBit(21);}
set voiceSpeak(val){this.setBit(21, val);}
get voiceMuteMembers(){return this.getBit(22);}
set voiceMuteMembers(val){this.setBit(22, val);}
get voiceDeafenMembers(){return this.getBit(23);}
set voiceDeafenMembers(val){this.setBit(23, val);}
get voiceMoveMembers(){return this.getBit(24);}
set voiceMoveMembers(val){this.setBit(24, val);}
get voiceUseVoiceActivation(){return this.getBit(25);}
set voiceUseVoiceActivation(val){this.setBit(25, val);}
getBit(x) {
return ((this.packed >>> x) & 1) === 1;
}
setBit(){
//dummy function for now
}
toString(){
return this.name;
}