mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Updated overwritePermissions function
This commit is contained in:
@@ -441,6 +441,25 @@ var Client = (function (_EventEmitter) {
|
||||
});
|
||||
};
|
||||
|
||||
// def overwritePermissions
|
||||
|
||||
Client.prototype.overwritePermissions = function overwritePermissions(channel, role) {
|
||||
var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
|
||||
var callback = arguments.length <= 3 || arguments[3] === undefined ? function (err) {} : arguments[3];
|
||||
|
||||
var self = this;
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
self.internal.overwritePermissions(channel, role, options).then(function () {
|
||||
callback();
|
||||
resolve();
|
||||
})["catch"](function (e) {
|
||||
callback(e);
|
||||
reject(e);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
_createClass(Client, [{
|
||||
key: "users",
|
||||
get: function get() {
|
||||
|
||||
@@ -677,7 +677,11 @@ var InternalClient = (function () {
|
||||
return new Promise(function (resolve, reject) {
|
||||
channel = self.resolver.resolveChannel(channel)["catch"](reject).then(next);
|
||||
function next(channel) {
|
||||
var user = self.resolver.resolverUser(role);
|
||||
|
||||
var user;
|
||||
if (role instanceof User) {
|
||||
user = role;
|
||||
}
|
||||
|
||||
var data = {};
|
||||
data.allow = 0;
|
||||
@@ -697,49 +701,24 @@ var InternalClient = (function () {
|
||||
return;
|
||||
}
|
||||
|
||||
for (var _iterator3 = updated.allow, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
|
||||
var _ref3;
|
||||
|
||||
if (_isArray3) {
|
||||
if (_i3 >= _iterator3.length) break;
|
||||
_ref3 = _iterator3[_i3++];
|
||||
for (var perm in updated) {
|
||||
if (updated[perm]) {
|
||||
if (perm instanceof String || typeof perm === "string") {
|
||||
data.allow |= Constants.Permissions[perm] || 0;
|
||||
} else {
|
||||
data.allow |= perm;
|
||||
}
|
||||
} else {
|
||||
_i3 = _iterator3.next();
|
||||
if (_i3.done) break;
|
||||
_ref3 = _i3.value;
|
||||
}
|
||||
|
||||
var perm = _ref3;
|
||||
|
||||
if (perm instanceof String || typeof perm === "string") {
|
||||
data.allow |= Constants.Permissions[perm] || 0;
|
||||
} else {
|
||||
data.allow |= perm;
|
||||
if (perm instanceof String || typeof perm === "string") {
|
||||
data.deny |= Constants.Permissions[perm] || 0;
|
||||
} else {
|
||||
data.deny |= perm;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (var _iterator4 = updated.deny, _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 perm = _ref4;
|
||||
|
||||
if (perm instanceof String || typeof perm === "string") {
|
||||
data.deny |= Constants.Permissions[perm] || 0;
|
||||
} else {
|
||||
data.deny |= perm;
|
||||
}
|
||||
}
|
||||
|
||||
request.put(Endpoints.CHANNEL_PERMISSIONS(channel) + "/" + data.id).set("authorization", self.token).send(data).end(function (err) {
|
||||
request.put(Endpoints.CHANNEL_PERMISSIONS(channel.id) + "/" + data.id).set("authorization", self.token).send(data).end(function (err) {
|
||||
console.log(err);
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
@@ -887,19 +866,19 @@ var InternalClient = (function () {
|
||||
var server = self.servers.get("id", data.id);
|
||||
if (server) {
|
||||
|
||||
for (var _iterator5 = server.channels, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
|
||||
var _ref5;
|
||||
for (var _iterator3 = server.channels, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
|
||||
var _ref3;
|
||||
|
||||
if (_isArray5) {
|
||||
if (_i5 >= _iterator5.length) break;
|
||||
_ref5 = _iterator5[_i5++];
|
||||
if (_isArray3) {
|
||||
if (_i3 >= _iterator3.length) break;
|
||||
_ref3 = _iterator3[_i3++];
|
||||
} else {
|
||||
_i5 = _iterator5.next();
|
||||
if (_i5.done) break;
|
||||
_ref5 = _i5.value;
|
||||
_i3 = _iterator3.next();
|
||||
if (_i3.done) break;
|
||||
_ref3 = _i3.value;
|
||||
}
|
||||
|
||||
var channel = _ref5;
|
||||
var channel = _ref3;
|
||||
|
||||
self.channels.remove(channel);
|
||||
}
|
||||
|
||||
15
lib/index.js
15
lib/index.js
@@ -13,17 +13,12 @@ a.on("warn", function (m) {
|
||||
});
|
||||
var start = Date.now();
|
||||
a.on("message", function (m) {
|
||||
console.log("msgmsgmsg");
|
||||
if (m.content === "$$$") {
|
||||
a.createServer("pongping", "london").then(function (server) {
|
||||
a.createChannel(server, "pingpong", "text").then(function (channel) {
|
||||
a.sendMessage(channel, "$$$").then(function (msg) {
|
||||
a.leaveServer(msg.channel.server).then(function () {
|
||||
console.log("!!! " + (Date.now() - start));
|
||||
});
|
||||
})["catch"](error);
|
||||
})["catch"](error);
|
||||
})["catch"](error);
|
||||
a.internal.overwritePermissions(m.channel, m.author, {
|
||||
manageRoles: true
|
||||
})["catch"](error).then(function () {
|
||||
return console.log("hihihihihi!");
|
||||
});
|
||||
}
|
||||
});
|
||||
a.on("userTypingStart", function (user, chan) {
|
||||
|
||||
@@ -423,6 +423,24 @@ class Client extends EventEmitter {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
// def overwritePermissions
|
||||
overwritePermissions(channel, role, options={}, callback=function(err){}){
|
||||
var self = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
self.internal.overwritePermissions(channel, role, options)
|
||||
.then(() => {
|
||||
callback();
|
||||
resolve();
|
||||
})
|
||||
.catch(e => {
|
||||
callback(e);
|
||||
reject(e);
|
||||
})
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Client;
|
||||
@@ -721,7 +721,11 @@ class InternalClient {
|
||||
return new Promise((resolve, reject) => {
|
||||
channel = self.resolver.resolveChannel(channel).catch(reject).then(next);
|
||||
function next(channel){
|
||||
var user = self.resolver.resolverUser(role);
|
||||
|
||||
var user;
|
||||
if(role instanceof User){
|
||||
user = role;
|
||||
}
|
||||
|
||||
var data = {};
|
||||
data.allow = 0;
|
||||
@@ -741,27 +745,28 @@ class InternalClient {
|
||||
return;
|
||||
}
|
||||
|
||||
for(var perm of updated.allow){
|
||||
if(perm instanceof String || typeof perm === "string"){
|
||||
data.allow |= (Constants.Permissions[perm] || 0);
|
||||
for(var perm in updated){
|
||||
if(updated[perm]){
|
||||
if(perm instanceof String || typeof perm === "string"){
|
||||
data.allow |= (Constants.Permissions[perm] || 0);
|
||||
}else{
|
||||
data.allow |= perm;
|
||||
}
|
||||
}else{
|
||||
data.allow |= perm;
|
||||
}
|
||||
}
|
||||
|
||||
for(var perm of updated.deny){
|
||||
if(perm instanceof String || typeof perm === "string"){
|
||||
data.deny |= (Constants.Permissions[perm] || 0);
|
||||
}else{
|
||||
data.deny |= perm;
|
||||
if(perm instanceof String || typeof perm === "string"){
|
||||
data.deny |= (Constants.Permissions[perm] || 0);
|
||||
}else{
|
||||
data.deny |= perm;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
request
|
||||
.put(Endpoints.CHANNEL_PERMISSIONS(channel)+"/"+data.id)
|
||||
.put(Endpoints.CHANNEL_PERMISSIONS(channel.id)+"/"+data.id)
|
||||
.set("authorization", self.token)
|
||||
.send(data)
|
||||
.end(function (err) {
|
||||
console.log(err);
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
|
||||
20
src/index.js
20
src/index.js
@@ -7,24 +7,10 @@ a.on("debug", (m) => console.log("[debug]",m));
|
||||
a.on("warn", (m) => console.log("[warn]", m));
|
||||
var start = Date.now();
|
||||
a.on("message", m => {
|
||||
console.log("msgmsgmsg");
|
||||
if(m.content === "$$$"){
|
||||
a.createServer("pongping", "london")
|
||||
.then( server => {
|
||||
a.createChannel(server, "pingpong", "text")
|
||||
.then( channel => {
|
||||
a.sendMessage(channel, "$$$")
|
||||
.then( msg => {
|
||||
a.leaveServer(msg.channel.server)
|
||||
.then(() => {
|
||||
console.log("!!! " + (Date.now() - start));
|
||||
});
|
||||
})
|
||||
.catch(error);
|
||||
})
|
||||
.catch(error);
|
||||
})
|
||||
.catch(error)
|
||||
a.internal.overwritePermissions(m.channel, m.author, {
|
||||
manageRoles : true
|
||||
}).catch(error).then(()=>console.log("hihihihihi!"));
|
||||
}
|
||||
});
|
||||
a.on("userTypingStart", (user, chan) => {
|
||||
|
||||
Reference in New Issue
Block a user