mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-12 09:33:32 +01:00
Add createRoleIfNotExists function
This commit is contained in:
348
lib/Client.js
348
lib/Client.js
@@ -32,10 +32,10 @@ var Client = (function () {
|
||||
|
||||
_classCallCheck(this, Client);
|
||||
|
||||
/*
|
||||
When created, if a token is specified the Client will
|
||||
try connecting with it. If the token is incorrect, no
|
||||
further efforts will be made to connect.
|
||||
/*
|
||||
When created, if a token is specified the Client will
|
||||
try connecting with it. If the token is incorrect, no
|
||||
further efforts will be made to connect.
|
||||
*/
|
||||
this.options = options;
|
||||
this.options.compress = options.compress;
|
||||
@@ -56,13 +56,13 @@ var Client = (function () {
|
||||
this.email = "abc";
|
||||
this.password = "abc";
|
||||
|
||||
/*
|
||||
State values:
|
||||
0 - idle
|
||||
1 - logging in
|
||||
2 - logged in
|
||||
3 - ready
|
||||
4 - disconnected
|
||||
/*
|
||||
State values:
|
||||
0 - idle
|
||||
1 - logging in
|
||||
2 - logged in
|
||||
3 - ready
|
||||
4 - disconnected
|
||||
*/
|
||||
|
||||
this.userCache = [];
|
||||
@@ -231,8 +231,8 @@ var Client = (function () {
|
||||
// creating here does NOT give us the channels of the server
|
||||
// so we must wait for the guild_create event.
|
||||
self.serverCreateListener[res.body.id] = [resolve, callback];
|
||||
/*var srv = self.addServer(res.body);
|
||||
callback(null, srv);
|
||||
/*var srv = self.addServer(res.body);
|
||||
callback(null, srv);
|
||||
resolve(srv);*/
|
||||
}
|
||||
});
|
||||
@@ -744,8 +744,54 @@ var Client = (function () {
|
||||
return prom;
|
||||
};
|
||||
|
||||
Client.prototype.createRoleIfNotExists = function createRoleIfNotExists(dest, data) {
|
||||
var cb = arguments.length <= 2 || arguments[2] === undefined ? function (err, role) {} : arguments[2];
|
||||
|
||||
var self = this;
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
var serverID = self.resolveServerID(dest);
|
||||
var server = self.getServer("id", serverID);
|
||||
|
||||
var baseRole = new ServerPermissions({}, server);
|
||||
for (var key in data) {
|
||||
baseRole[key] = data[key];
|
||||
}
|
||||
|
||||
for (var _iterator4 = server.roles, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {
|
||||
var _ref4;
|
||||
|
||||
if (_isArray4) {
|
||||
if (_i4 >= _iterator4.length) break;
|
||||
_ref4 = _iterator4[_i4++];
|
||||
} else {
|
||||
_i4 = _iterator4.next();
|
||||
if (_i4.done) break;
|
||||
_ref4 = _i4.value;
|
||||
}
|
||||
|
||||
var role = _ref4;
|
||||
|
||||
if (baseRole.name == role.name && baseRole.packed == role.packed && baseRole.color == role.color) {
|
||||
resolve(role);
|
||||
cb(null, role);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
self.createRole(dest, data).then(function (role) {
|
||||
cb(null, role);
|
||||
resolve(role);
|
||||
})["catch"](function (e) {
|
||||
cb(e);
|
||||
reject(e);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
Client.prototype.createRole = function createRole(dest, data) {
|
||||
var cb = arguments.length <= 2 || arguments[2] === undefined ? function (err, perm) {} : arguments[2];
|
||||
var cb = arguments.length <= 2 || arguments[2] === undefined ? function (err, role) {} : arguments[2];
|
||||
|
||||
var self = this;
|
||||
|
||||
@@ -883,8 +929,6 @@ var Client = (function () {
|
||||
acMember.removeRole(role);
|
||||
}
|
||||
|
||||
console.log("remainder: ", acMember.rawRoles, "wanting", role.id);
|
||||
|
||||
request.patch("https://discordapp.com/api/guilds/" + serverId + "/members/" + memberId).set("authorization", self.token).send({
|
||||
roles: acMember.rawRoles
|
||||
}).end(function (err) {
|
||||
@@ -1059,24 +1103,7 @@ var Client = (function () {
|
||||
|
||||
self.user = self.addUser(data.user);
|
||||
|
||||
for (var _iterator4 = data.guilds, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {
|
||||
var _ref4;
|
||||
|
||||
if (_isArray4) {
|
||||
if (_i4 >= _iterator4.length) break;
|
||||
_ref4 = _iterator4[_i4++];
|
||||
} else {
|
||||
_i4 = _iterator4.next();
|
||||
if (_i4.done) break;
|
||||
_ref4 = _i4.value;
|
||||
}
|
||||
|
||||
var _server = _ref4;
|
||||
|
||||
var server = self.addServer(_server);
|
||||
}
|
||||
|
||||
for (var _iterator5 = data.private_channels, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
|
||||
for (var _iterator5 = data.guilds, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
|
||||
var _ref5;
|
||||
|
||||
if (_isArray5) {
|
||||
@@ -1088,7 +1115,24 @@ var Client = (function () {
|
||||
_ref5 = _i5.value;
|
||||
}
|
||||
|
||||
var _pmc = _ref5;
|
||||
var _server = _ref5;
|
||||
|
||||
var server = self.addServer(_server);
|
||||
}
|
||||
|
||||
for (var _iterator6 = data.private_channels, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {
|
||||
var _ref6;
|
||||
|
||||
if (_isArray6) {
|
||||
if (_i6 >= _iterator6.length) break;
|
||||
_ref6 = _iterator6[_i6++];
|
||||
} else {
|
||||
_i6 = _iterator6.next();
|
||||
if (_i6.done) break;
|
||||
_ref6 = _i6.value;
|
||||
}
|
||||
|
||||
var _pmc = _ref6;
|
||||
|
||||
var pmc = self.addPMChannel(_pmc);
|
||||
}
|
||||
@@ -1109,19 +1153,19 @@ var Client = (function () {
|
||||
data.mentions = data.mentions || []; //for some reason this was not defined at some point?
|
||||
|
||||
var channel = self.getChannel("id", data.channel_id);
|
||||
for (var _iterator6 = data.mentions, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {
|
||||
var _ref6;
|
||||
for (var _iterator7 = data.mentions, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
|
||||
var _ref7;
|
||||
|
||||
if (_isArray6) {
|
||||
if (_i6 >= _iterator6.length) break;
|
||||
_ref6 = _iterator6[_i6++];
|
||||
if (_isArray7) {
|
||||
if (_i7 >= _iterator7.length) break;
|
||||
_ref7 = _iterator7[_i7++];
|
||||
} else {
|
||||
_i6 = _iterator6.next();
|
||||
if (_i6.done) break;
|
||||
_ref6 = _i6.value;
|
||||
_i7 = _iterator7.next();
|
||||
if (_i7.done) break;
|
||||
_ref7 = _i7.value;
|
||||
}
|
||||
|
||||
var mention = _ref6;
|
||||
var mention = _ref7;
|
||||
|
||||
var user = self.addUser(mention);
|
||||
if (channel.server) mentions.push(channel.server.getMember("id", user.id) || user);else mentions.push(user);
|
||||
@@ -1168,19 +1212,19 @@ var Client = (function () {
|
||||
data.mentions = data.mentions || [];
|
||||
var mentions = [];
|
||||
|
||||
for (var _iterator7 = data.mentions, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
|
||||
var _ref7;
|
||||
for (var _iterator8 = data.mentions, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {
|
||||
var _ref8;
|
||||
|
||||
if (_isArray7) {
|
||||
if (_i7 >= _iterator7.length) break;
|
||||
_ref7 = _iterator7[_i7++];
|
||||
if (_isArray8) {
|
||||
if (_i8 >= _iterator8.length) break;
|
||||
_ref8 = _iterator8[_i8++];
|
||||
} else {
|
||||
_i7 = _iterator7.next();
|
||||
if (_i7.done) break;
|
||||
_ref7 = _i7.value;
|
||||
_i8 = _iterator8.next();
|
||||
if (_i8.done) break;
|
||||
_ref8 = _i8.value;
|
||||
}
|
||||
|
||||
var mention = _ref7;
|
||||
var mention = _ref8;
|
||||
|
||||
var user = self.addUser(mention);
|
||||
if (channel.server) mentions.push(channel.server.getMember("id", user.id) || user);else mentions.push(user);
|
||||
@@ -1243,14 +1287,14 @@ var Client = (function () {
|
||||
if (!server) {
|
||||
//if server doesn't already exist because duh
|
||||
server = self.addServer(data);
|
||||
} /*else if(server.channels.length === 0){
|
||||
|
||||
var srv = new Server(data, self);
|
||||
for(channel of data.channels){
|
||||
srv.channels.push(new Channel(channel, data.id));
|
||||
}
|
||||
self.serverCache[self.serverCache.indexOf(server)] = srv;
|
||||
|
||||
} /*else if(server.channels.length === 0){
|
||||
|
||||
var srv = new Server(data, self);
|
||||
for(channel of data.channels){
|
||||
srv.channels.push(new Channel(channel, data.id));
|
||||
}
|
||||
self.serverCache[self.serverCache.indexOf(server)] = srv;
|
||||
|
||||
}*/
|
||||
|
||||
if (self.serverCreateListener[data.id]) {
|
||||
@@ -1537,38 +1581,38 @@ var Client = (function () {
|
||||
server = new Server(data, this);
|
||||
this.serverCache.push(server);
|
||||
if (data.channels) {
|
||||
for (var _iterator8 = data.channels, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) {
|
||||
var _ref8;
|
||||
for (var _iterator9 = data.channels, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {
|
||||
var _ref9;
|
||||
|
||||
if (_isArray8) {
|
||||
if (_i8 >= _iterator8.length) break;
|
||||
_ref8 = _iterator8[_i8++];
|
||||
if (_isArray9) {
|
||||
if (_i9 >= _iterator9.length) break;
|
||||
_ref9 = _iterator9[_i9++];
|
||||
} else {
|
||||
_i8 = _iterator8.next();
|
||||
if (_i8.done) break;
|
||||
_ref8 = _i8.value;
|
||||
_i9 = _iterator9.next();
|
||||
if (_i9.done) break;
|
||||
_ref9 = _i9.value;
|
||||
}
|
||||
|
||||
var channel = _ref8;
|
||||
var channel = _ref9;
|
||||
|
||||
server.channels.push(this.addChannel(channel, server.id));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (var _iterator9 = data.presences, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) {
|
||||
var _ref9;
|
||||
for (var _iterator10 = data.presences, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) {
|
||||
var _ref10;
|
||||
|
||||
if (_isArray9) {
|
||||
if (_i9 >= _iterator9.length) break;
|
||||
_ref9 = _iterator9[_i9++];
|
||||
if (_isArray10) {
|
||||
if (_i10 >= _iterator10.length) break;
|
||||
_ref10 = _iterator10[_i10++];
|
||||
} else {
|
||||
_i9 = _iterator9.next();
|
||||
if (_i9.done) break;
|
||||
_ref9 = _i9.value;
|
||||
_i10 = _iterator10.next();
|
||||
if (_i10.done) break;
|
||||
_ref10 = _i10.value;
|
||||
}
|
||||
|
||||
var presence = _ref9;
|
||||
var presence = _ref10;
|
||||
|
||||
var user = self.getUser("id", presence.user.id);
|
||||
user.status = presence.status;
|
||||
@@ -1581,31 +1625,7 @@ var Client = (function () {
|
||||
//def getUser
|
||||
|
||||
Client.prototype.getUser = function getUser(key, value) {
|
||||
for (var _iterator10 = this.userCache, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) {
|
||||
var _ref10;
|
||||
|
||||
if (_isArray10) {
|
||||
if (_i10 >= _iterator10.length) break;
|
||||
_ref10 = _iterator10[_i10++];
|
||||
} else {
|
||||
_i10 = _iterator10.next();
|
||||
if (_i10.done) break;
|
||||
_ref10 = _i10.value;
|
||||
}
|
||||
|
||||
var user = _ref10;
|
||||
|
||||
if (user[key] === value) {
|
||||
return user;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
//def getChannel
|
||||
|
||||
Client.prototype.getChannel = function getChannel(key, value) {
|
||||
for (var _iterator11 = this.channelCache, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) {
|
||||
for (var _iterator11 = this.userCache, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) {
|
||||
var _ref11;
|
||||
|
||||
if (_isArray11) {
|
||||
@@ -1617,17 +1637,19 @@ var Client = (function () {
|
||||
_ref11 = _i11.value;
|
||||
}
|
||||
|
||||
var channel = _ref11;
|
||||
var user = _ref11;
|
||||
|
||||
if (channel[key] === value) {
|
||||
return channel;
|
||||
if (user[key] === value) {
|
||||
return user;
|
||||
}
|
||||
}
|
||||
return this.getPMChannel(key, value); //might be a PM
|
||||
return null;
|
||||
};
|
||||
|
||||
Client.prototype.getPMChannel = function getPMChannel(key, value) {
|
||||
for (var _iterator12 = this.pmChannelCache, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) {
|
||||
//def getChannel
|
||||
|
||||
Client.prototype.getChannel = function getChannel(key, value) {
|
||||
for (var _iterator12 = this.channelCache, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) {
|
||||
var _ref12;
|
||||
|
||||
if (_isArray12) {
|
||||
@@ -1645,13 +1667,11 @@ var Client = (function () {
|
||||
return channel;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return this.getPMChannel(key, value); //might be a PM
|
||||
};
|
||||
|
||||
//def getServer
|
||||
|
||||
Client.prototype.getServer = function getServer(key, value) {
|
||||
for (var _iterator13 = this.serverCache, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator]();;) {
|
||||
Client.prototype.getPMChannel = function getPMChannel(key, value) {
|
||||
for (var _iterator13 = this.pmChannelCache, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator]();;) {
|
||||
var _ref13;
|
||||
|
||||
if (_isArray13) {
|
||||
@@ -1663,7 +1683,31 @@ var Client = (function () {
|
||||
_ref13 = _i13.value;
|
||||
}
|
||||
|
||||
var server = _ref13;
|
||||
var channel = _ref13;
|
||||
|
||||
if (channel[key] === value) {
|
||||
return channel;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
//def getServer
|
||||
|
||||
Client.prototype.getServer = function getServer(key, value) {
|
||||
for (var _iterator14 = this.serverCache, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator]();;) {
|
||||
var _ref14;
|
||||
|
||||
if (_isArray14) {
|
||||
if (_i14 >= _iterator14.length) break;
|
||||
_ref14 = _iterator14[_i14++];
|
||||
} else {
|
||||
_i14 = _iterator14.next();
|
||||
if (_i14.done) break;
|
||||
_ref14 = _i14.value;
|
||||
}
|
||||
|
||||
var server = _ref14;
|
||||
|
||||
if (server[key] === value) {
|
||||
return server;
|
||||
@@ -1733,19 +1777,19 @@ var Client = (function () {
|
||||
} else if (destination instanceof User) {
|
||||
|
||||
//check if we have a PM
|
||||
for (var _iterator14 = self.pmChannelCache, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator]();;) {
|
||||
var _ref14;
|
||||
for (var _iterator15 = self.pmChannelCache, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) {
|
||||
var _ref15;
|
||||
|
||||
if (_isArray14) {
|
||||
if (_i14 >= _iterator14.length) break;
|
||||
_ref14 = _iterator14[_i14++];
|
||||
if (_isArray15) {
|
||||
if (_i15 >= _iterator15.length) break;
|
||||
_ref15 = _iterator15[_i15++];
|
||||
} else {
|
||||
_i14 = _iterator14.next();
|
||||
if (_i14.done) break;
|
||||
_ref14 = _i14.value;
|
||||
_i15 = _iterator15.next();
|
||||
if (_i15.done) break;
|
||||
_ref15 = _i15.value;
|
||||
}
|
||||
|
||||
var pmc = _ref14;
|
||||
var pmc = _ref15;
|
||||
|
||||
if (pmc.user && pmc.user.equals(destination)) {
|
||||
resolve(pmc.id);
|
||||
@@ -1786,19 +1830,19 @@ var Client = (function () {
|
||||
|
||||
var channel = self.getChannel("id", data.channel_id);
|
||||
|
||||
for (var _iterator15 = data.mentions, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) {
|
||||
var _ref15;
|
||||
for (var _iterator16 = data.mentions, _isArray16 = Array.isArray(_iterator16), _i16 = 0, _iterator16 = _isArray16 ? _iterator16 : _iterator16[Symbol.iterator]();;) {
|
||||
var _ref16;
|
||||
|
||||
if (_isArray15) {
|
||||
if (_i15 >= _iterator15.length) break;
|
||||
_ref15 = _iterator15[_i15++];
|
||||
if (_isArray16) {
|
||||
if (_i16 >= _iterator16.length) break;
|
||||
_ref16 = _iterator16[_i16++];
|
||||
} else {
|
||||
_i15 = _iterator15.next();
|
||||
if (_i15.done) break;
|
||||
_ref15 = _i15.value;
|
||||
_i16 = _iterator16.next();
|
||||
if (_i16.done) break;
|
||||
_ref16 = _i16.value;
|
||||
}
|
||||
|
||||
var mention = _ref15;
|
||||
var mention = _ref16;
|
||||
|
||||
var user = self.addUser(mention);
|
||||
if (channel.server) mentions.push(channel.server.getMember("id", user.id) || user);else mentions.push(user);
|
||||
@@ -1954,19 +1998,19 @@ var Client = (function () {
|
||||
|
||||
id = null;
|
||||
|
||||
for (var _iterator16 = gameMap, _isArray16 = Array.isArray(_iterator16), _i16 = 0, _iterator16 = _isArray16 ? _iterator16 : _iterator16[Symbol.iterator]();;) {
|
||||
var _ref16;
|
||||
for (var _iterator17 = gameMap, _isArray17 = Array.isArray(_iterator17), _i17 = 0, _iterator17 = _isArray17 ? _iterator17 : _iterator17[Symbol.iterator]();;) {
|
||||
var _ref17;
|
||||
|
||||
if (_isArray16) {
|
||||
if (_i16 >= _iterator16.length) break;
|
||||
_ref16 = _iterator16[_i16++];
|
||||
if (_isArray17) {
|
||||
if (_i17 >= _iterator17.length) break;
|
||||
_ref17 = _iterator17[_i17++];
|
||||
} else {
|
||||
_i16 = _iterator16.next();
|
||||
if (_i16.done) break;
|
||||
_ref16 = _i16.value;
|
||||
_i17 = _iterator17.next();
|
||||
if (_i17.done) break;
|
||||
_ref17 = _i17.value;
|
||||
}
|
||||
|
||||
var game = _ref16;
|
||||
var game = _ref17;
|
||||
|
||||
if (game.name.trim().toUpperCase() === gid) {
|
||||
|
||||
@@ -2032,19 +2076,19 @@ var Client = (function () {
|
||||
get: function get() {
|
||||
|
||||
var msgs = [];
|
||||
for (var _iterator17 = this.channelCache, _isArray17 = Array.isArray(_iterator17), _i17 = 0, _iterator17 = _isArray17 ? _iterator17 : _iterator17[Symbol.iterator]();;) {
|
||||
var _ref17;
|
||||
for (var _iterator18 = this.channelCache, _isArray18 = Array.isArray(_iterator18), _i18 = 0, _iterator18 = _isArray18 ? _iterator18 : _iterator18[Symbol.iterator]();;) {
|
||||
var _ref18;
|
||||
|
||||
if (_isArray17) {
|
||||
if (_i17 >= _iterator17.length) break;
|
||||
_ref17 = _iterator17[_i17++];
|
||||
if (_isArray18) {
|
||||
if (_i18 >= _iterator18.length) break;
|
||||
_ref18 = _iterator18[_i18++];
|
||||
} else {
|
||||
_i17 = _iterator17.next();
|
||||
if (_i17.done) break;
|
||||
_ref17 = _i17.value;
|
||||
_i18 = _iterator18.next();
|
||||
if (_i18.done) break;
|
||||
_ref18 = _i18.value;
|
||||
}
|
||||
|
||||
var channel = _ref17;
|
||||
var channel = _ref18;
|
||||
|
||||
msgs = msgs.concat(channel.messages);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user