mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-12 09:33:32 +01:00
Added role creation and new role listening
bot.createRole(server, cb(err, ServerPermissions))
and
bot.on("serverRoleCreate", server, ServerPermissions)
This commit is contained in:
@@ -24,6 +24,28 @@ class ChannelPermissions{
|
||||
|
||||
}
|
||||
|
||||
serialise() {
|
||||
return {
|
||||
createInstantInvite : this.createInstantInvite,
|
||||
manageRoles : this.manageRoles,
|
||||
manageChannels : this.manageChannels,
|
||||
readMessages : this.readMessages,
|
||||
sendMessages : this.sendMessage,
|
||||
sendTTSMessages : this.sendTTSMessages,
|
||||
manageMessages : this.manageMessages,
|
||||
embedLinks : this.embedLinks,
|
||||
attachFiles : this.attachFiles,
|
||||
readMessageHistory : this.readMessageHistory,
|
||||
mentionEveryone : this.mentionEveryone,
|
||||
voiceConnect : this.voiceConnect,
|
||||
voiceSpeak : this.voiceSpeak,
|
||||
voiceMuteMembers : this.voiceMuteMembers,
|
||||
voiceDeafenMembers : this.voiceDeafenMembers,
|
||||
voiceMoveMember : this.voiceMoveMembers,
|
||||
voiceUseVoiceActivation : this.voiceUseVoiceActivation
|
||||
}
|
||||
}
|
||||
|
||||
get createInstantInvite(){return this.getBit(0);}
|
||||
set createInstantInvite(val){this.setBit(0, val);}
|
||||
|
||||
|
||||
@@ -757,6 +757,36 @@ class Client {
|
||||
return prom;
|
||||
}
|
||||
|
||||
createRole(server, cb = function(err, perm){}){
|
||||
|
||||
var self = this;
|
||||
|
||||
return new Promise(function(resolve, reject){
|
||||
|
||||
server = self.resolveServerID(server);
|
||||
|
||||
request
|
||||
.post(`${Endpoints.SERVERS}/${server}/roles`)
|
||||
.set("authorization", self.token)
|
||||
.end(function(err, res){
|
||||
|
||||
if(err){
|
||||
cb(err);
|
||||
reject(err);
|
||||
}else{
|
||||
|
||||
var data = self.getServer("id", server).addRole(res.body);
|
||||
resolve(data);
|
||||
cb(null, data);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
//def createws
|
||||
createws(url) {
|
||||
if (this.websocket)
|
||||
@@ -1088,6 +1118,17 @@ class Client {
|
||||
|
||||
break;
|
||||
|
||||
case "GUILD_ROLE_CREATE":
|
||||
|
||||
var server = self.getServer("id", data.guild_id);
|
||||
var role = data.role;
|
||||
|
||||
self.trigger("serverRoleCreate", server, server.addRole(role));
|
||||
|
||||
server.removeRole(role.id);
|
||||
|
||||
break;
|
||||
|
||||
case "GUILD_ROLE_DELETE":
|
||||
|
||||
var server = self.getServer("id", data.guild_id);
|
||||
|
||||
@@ -14,6 +14,28 @@ class ServerPermissions {
|
||||
|
||||
}
|
||||
|
||||
serialise() {
|
||||
return {
|
||||
createInstantInvite : this.createInstantInvite,
|
||||
manageRoles : this.manageRoles,
|
||||
manageChannels : this.manageChannels,
|
||||
readMessages : this.readMessages,
|
||||
sendMessages : this.sendMessage,
|
||||
sendTTSMessages : this.sendTTSMessages,
|
||||
manageMessages : this.manageMessages,
|
||||
embedLinks : this.embedLinks,
|
||||
attachFiles : this.attachFiles,
|
||||
readMessageHistory : this.readMessageHistory,
|
||||
mentionEveryone : this.mentionEveryone,
|
||||
voiceConnect : this.voiceConnect,
|
||||
voiceSpeak : this.voiceSpeak,
|
||||
voiceMuteMembers : this.voiceMuteMembers,
|
||||
voiceDeafenMembers : this.voiceDeafenMembers,
|
||||
voiceMoveMember : this.voiceMoveMembers,
|
||||
voiceUseVoiceActivation : this.voiceUseVoiceActivation
|
||||
}
|
||||
}
|
||||
|
||||
get createInstantInvite(){return this.getBit(0);}
|
||||
set createInstantInvite(val){this.setBit(0, val);}
|
||||
|
||||
|
||||
@@ -83,6 +83,18 @@ class Server {
|
||||
return null;
|
||||
}
|
||||
|
||||
addRole(data){
|
||||
|
||||
if(this.getRole(data.id)){
|
||||
return this.getRole(data.id);
|
||||
}
|
||||
|
||||
var perms = new ServerPermissions(data);
|
||||
this.roles.push(perms);
|
||||
return perms;
|
||||
|
||||
}
|
||||
|
||||
updateRole(data){
|
||||
|
||||
var oldRole = this.getRole(data.id);
|
||||
|
||||
Reference in New Issue
Block a user