mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-13 01:53:30 +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:
@@ -30,6 +30,28 @@ var ChannelPermissions = (function () {
|
||||
this.allow = data.allow;
|
||||
}
|
||||
|
||||
ChannelPermissions.prototype.serialise = function 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
|
||||
};
|
||||
};
|
||||
|
||||
ChannelPermissions.prototype.getBit = function getBit(x) {
|
||||
return (this.packed >>> x & 1) === 1;
|
||||
};
|
||||
|
||||
@@ -712,6 +712,30 @@ var Client = (function () {
|
||||
return prom;
|
||||
};
|
||||
|
||||
Client.prototype.createRole = function createRole(server) {
|
||||
var cb = arguments.length <= 1 || arguments[1] === undefined ? function (err, perm) {} : arguments[1];
|
||||
|
||||
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
|
||||
|
||||
Client.prototype.createws = function createws(url) {
|
||||
@@ -1089,6 +1113,17 @@ var Client = (function () {
|
||||
|
||||
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);
|
||||
|
||||
@@ -19,6 +19,28 @@ var ServerPermissions = (function () {
|
||||
this.id = data.id;
|
||||
}
|
||||
|
||||
ServerPermissions.prototype.serialise = function 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
|
||||
};
|
||||
};
|
||||
|
||||
ServerPermissions.prototype.getBit = function getBit(x) {
|
||||
return (this.packed >>> x & 1) === 1;
|
||||
};
|
||||
|
||||
@@ -94,6 +94,17 @@ var Server = (function () {
|
||||
return null;
|
||||
};
|
||||
|
||||
Server.prototype.addRole = function addRole(data) {
|
||||
|
||||
if (this.getRole(data.id)) {
|
||||
return this.getRole(data.id);
|
||||
}
|
||||
|
||||
var perms = new ServerPermissions(data);
|
||||
this.roles.push(perms);
|
||||
return perms;
|
||||
};
|
||||
|
||||
Server.prototype.updateRole = function updateRole(data) {
|
||||
|
||||
var oldRole = this.getRole(data.id);
|
||||
|
||||
Reference in New Issue
Block a user