Updated overwritePermissions function

This commit is contained in:
hydrabolt
2015-11-06 20:00:34 +00:00
parent 73e0c1683b
commit 81a8771063
6 changed files with 92 additions and 90 deletions

View File

@@ -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;

View File

@@ -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 {

View File

@@ -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) => {