mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-12 09:33:32 +01:00
Improved role creation
This commit is contained in:
@@ -66,7 +66,7 @@ var Client = (function () {
|
||||
this.checkingQueue = {};
|
||||
this.userTypingListener = {};
|
||||
this.queue = {};
|
||||
|
||||
this.guildRoleCreateIgnoreList = {};
|
||||
this.__idleTime = null;
|
||||
this.__gameId = null;
|
||||
}
|
||||
@@ -714,14 +714,15 @@ var Client = (function () {
|
||||
return prom;
|
||||
};
|
||||
|
||||
Client.prototype.createRole = function createRole(dest) {
|
||||
var cb = arguments.length <= 1 || arguments[1] === undefined ? function (err, perm) {} : arguments[1];
|
||||
Client.prototype.createRole = function createRole(dest, data) {
|
||||
var cb = arguments.length <= 2 || arguments[2] === undefined ? function (err, perm) {} : arguments[2];
|
||||
|
||||
var self = this;
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
var ddest = self.resolveServerID(dest);
|
||||
var server = self.getServer("id", ddest);
|
||||
|
||||
request.post(Endpoints.SERVERS + "/" + ddest + "/roles").set("authorization", self.token).end(function (err, res) {
|
||||
|
||||
@@ -730,10 +731,23 @@ var Client = (function () {
|
||||
reject(err);
|
||||
} else {
|
||||
|
||||
var perms = self.getServer("id", ddest).addRole(res.body);
|
||||
var moddedPerm = new ServerPermissions(res.body, server);
|
||||
|
||||
resolve(perms);
|
||||
cb(null, perms);
|
||||
for (var key in data) {
|
||||
moddedPerm[key] = data[key];
|
||||
}
|
||||
|
||||
var perms = server.addRole(res.body);
|
||||
self.guildRoleCreateIgnoreList[res.body.id] = function () {
|
||||
|
||||
self.updateRole(server, moddedPerm).then(function (perm) {
|
||||
cb(null, perm);
|
||||
resolve(perm);
|
||||
})["catch"](function (err) {
|
||||
cb(err);
|
||||
reject(err);
|
||||
});
|
||||
};
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -1182,6 +1196,13 @@ var Client = (function () {
|
||||
var server = self.getServer("id", data.guild_id);
|
||||
var role = data.role;
|
||||
|
||||
if (self.guildRoleCreateIgnoreList[data.role.id]) {
|
||||
server.addRole(role);
|
||||
self.guildRoleCreateIgnoreList[data.role.id]();
|
||||
self.guildRoleCreateIgnoreList[data.role.id] = null;
|
||||
break;
|
||||
}
|
||||
|
||||
self.trigger("serverRoleCreate", server, server.addRole(role));
|
||||
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user