mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
87 lines
2.3 KiB
JavaScript
87 lines
2.3 KiB
JavaScript
class ChannelPermissions{
|
|
constructor(data, channel){
|
|
|
|
var self = this;
|
|
|
|
function getBit(x) {
|
|
return ((self.packed >>> x) & 1) === 1;
|
|
}
|
|
|
|
this.type = data.type; //either member or role
|
|
this.id = data.id;
|
|
|
|
if(this.type === "member"){
|
|
this.packed = channel.server.getMember("id", data.id).evalPerms.packed;
|
|
}else{
|
|
this.packed = channel.server.getRole(data.id).packed;
|
|
}
|
|
|
|
this.packed = this.packed & ~data.deny;
|
|
this.packed = this.packed | data.allow;
|
|
|
|
this.deny = data.deny;
|
|
this.allow = data.allow;
|
|
|
|
}
|
|
|
|
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; |