fixed add member to role

This commit is contained in:
hydrabolt
2015-10-26 15:41:56 +00:00
parent b5263aae0c
commit 1d3c61333c
5 changed files with 44 additions and 40 deletions

View File

@@ -739,7 +739,6 @@ var Client = (function () {
var perms = server.addRole(res.body);
self.guildRoleCreateIgnoreList[res.body.id] = function () {
self.updateRole(server, moddedPerm).then(function (perm) {
cb(null, perm);
resolve(perm);
@@ -781,32 +780,34 @@ var Client = (function () {
});
};
Client.prototype.addMemberToRole = function addMemberToRole(server, role, member) {
var callback = arguments.length <= 3 || arguments[3] === undefined ? function (err) {} : arguments[3];
Client.prototype.addMemberToRole = function addMemberToRole(member, role) {
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err) {} : arguments[2];
var self = this;
return new Promise(function (resolve, reject) {
try {
var serverId = self.resolveServerID(member.server);
var memberId = self.resolveUserID(member);
var serverId = self.resolveServerID(server);
var memberId = self.resolveUserID(member);
var acServer = self.getServer("id", serverId);
var acMember = acServer.getMember("id", memberId);
var acServer = self.getServer("id", serverId);
var acMember = acServer.getMember("id", memberId);
request.patch("https://discordapp.com/api/guilds/" + serverId + "/members/" + memberId).set("authorization", self.token).send({
roles: acMember.rawRoles.concat(role.id)
}).end(function (err) {
if (err) {
reject(err);
callback(err);
} else {
acMember.addRole(role);
resolve();
callback();
}
});
request.patch("https://discordapp.com/api/guilds/" + serverId + "/members/" + memberId).set("authorization", self.token).send({
roles: acMember.rawRoles.concat(role.id)
}).end(function (err) {
if (err) {
reject(err);
callback(err);
} else {
acMember.addRole(role);
resolve();
callback();
}
});
} catch (e) {
reject(e);
}
});
};
@@ -1479,7 +1480,7 @@ var Client = (function () {
if (resource instanceof Server) {
return resource.id;
} else if (!isNaN(resource) && resource.length && resource.length === 17) {
} else {
return resource;
}
};
@@ -1488,7 +1489,7 @@ var Client = (function () {
if (resource instanceof User) {
// also accounts for Member
return resource.id;
} else if (!isNaN(resource) && resource.length && resource.length === 17) {
} else {
return resource;
}
};

View File

@@ -111,7 +111,7 @@ var Server = (function () {
if (oldRole) {
var index = this.roles.indexOf(oldRole);
this.roles[index] = new ServerPermissions(data);
this.roles[index] = new ServerPermissions(data, this);
return this.roles[index];
} else {

View File

@@ -786,7 +786,6 @@ class Client {
var perms = server.addRole(res.body);
self.guildRoleCreateIgnoreList[res.body.id] = function () {
self.updateRole(server, moddedPerm)
.then((perm) => {
cb(null, perm);
@@ -842,12 +841,12 @@ class Client {
}
addMemberToRole(server, role, member, callback = function (err) { }) {
addMemberToRole(member, role, callback = function (err) { }) {
var self = this;
return new Promise(function (resolve, reject) {
var serverId = self.resolveServerID(server);
try{
var serverId = self.resolveServerID(member.server);
var memberId = self.resolveUserID(member);
var acServer = self.getServer("id", serverId);
@@ -860,7 +859,6 @@ class Client {
roles: acMember.rawRoles.concat(role.id)
})
.end(function (err) {
if (err) {
reject(err);
callback(err);
@@ -871,7 +869,9 @@ class Client {
}
});
}catch(e){
reject(e);
}
});
}
@@ -1420,7 +1420,7 @@ class Client {
if (resource instanceof Server) {
return resource.id;
} else if (!isNaN(resource) && resource.length && resource.length === 17) {
} else {
return resource;
}
@@ -1429,7 +1429,7 @@ class Client {
resolveUserID(resource) {
if (resource instanceof User) { // also accounts for Member
return resource.id;
} else if (!isNaN(resource) && resource.length && resource.length === 17) {
} else {
return resource;
}
}

View File

@@ -101,7 +101,7 @@ class Server {
if(oldRole){
var index = this.roles.indexOf(oldRole);
this.roles[index] = new ServerPermissions(data);
this.roles[index] = new ServerPermissions(data, this);
return this.roles[index];

View File

@@ -1,4 +1,5 @@
var Discord = require("../");
var Member = require("../lib/Member.js");
var mybot = new Discord.Client();
var fs = require("fs");
var request = require("request").defaults({ encoding: null });
@@ -25,16 +26,18 @@ mybot.on("message", function (message) {
user = message.sender;
}
console.log(mybot.getUser("username", "meew0"));
var perms = JSON.stringify(message.channel.permissionsOf(user).serialise(), null, 4);
perms = JSON.parse(perms);
mybot.createRole(message.channel.server, {
color : Discord.Colors.GREEN
mybot.createRole(
message.channel.server, {
color : Discord.Colors.BLUE,
manageRoles : true
}).then((perm) => {
mybot.addMemberToRole(message.channel.server, perm, message.sender).then(console.log).catch(error);
}).catch(error);
mybot.reply(message, message.sender.server.id)
mybot.addMemberToRole(message.sender, perm).then(console.log).catch(error);
mybot.reply(message, "done! " + JSON.stringify(perm.server));
});
});
@@ -67,7 +70,7 @@ function dump(msg) {
}
function error(err) {
console.log("error", err);
console.log(err);
}
mybot.login(process.env["ds_email"], process.env["ds_password"]).catch(error);