Client now supplies Members instead of Users (where possible)

This commit is contained in:
hydrabolt
2015-10-26 14:15:06 +00:00
parent 76888151a2
commit 45e678b67e
3 changed files with 70 additions and 69 deletions

View File

@@ -479,10 +479,12 @@ var Client = (function () {
var mention = _ref2;
mentions.push(self.addUser(mention));
var user = self.addUser(mention);
mentions.push(channel.server.getMember("id", user.id) || user);
}
var author = self.addUser(message.author);
var authorRaw = self.addUser(message.author);
var author = channel.server.getMember("id", authorRaw.id) || authorRaw;
logs.push(new Message(message, channel, mentions, author));
}
@@ -886,6 +888,9 @@ var Client = (function () {
var mentions = [];
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;
@@ -900,12 +905,12 @@ var Client = (function () {
var mention = _ref6;
mentions.push(self.addUser(mention));
var user = self.addUser(mention);
mentions.push(channel.server.getMember("id", user.id) || user);
}
var channel = self.getChannel("id", data.channel_id);
if (channel) {
var msg = channel.addMessage(new Message(data, channel, mentions, self.addUser(data.author)));
var msg = channel.addMessage(new Message(data, channel, mentions, channel.server.getMember("id", self.addUser(data.author).id)));
self.trigger("message", msg);
}
@@ -943,7 +948,7 @@ var Client = (function () {
}
var mentions = [];
for (var _iterator7 = info.mentions, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
for (var _iterator7 = data.mentions, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) {
var _ref7;
if (_isArray7) {
@@ -957,7 +962,8 @@ var Client = (function () {
var mention = _ref7;
mentions.push(self.addUser(mention));
var user = self.addUser(mention);
mentions.push(channel.server.getMember("id", user.id) || user);
}
var newMessage = new Message(info, channel, mentions, formerMessage.author);
@@ -1533,6 +1539,8 @@ 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 _iterator15 = data.mentions, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) {
var _ref15;
@@ -1547,12 +1555,12 @@ var Client = (function () {
var mention = _ref15;
mentions.push(self.addUser(mention));
var user = self.addUser(mention);
mentions.push(channel.server.getMember("id", user.id) || user);
}
var channel = self.getChannel("id", data.channel_id);
if (channel) {
var msg = channel.addMessage(new Message(data, channel, mentions, self.addUser(data.author)));
var msg = channel.addMessage(new Message(data, channel, mentions, channel.server.getMember("id", data.author.id)));
resolve(msg);
}
}

View File

@@ -518,10 +518,12 @@ class Client {
var mentions = [];
for (var mention of message.mentions) {
mentions.push(self.addUser(mention));
var user = self.addUser(mention);
mentions.push(channel.server.getMember("id", user.id) || user);
}
var author = self.addUser(message.author);
var authorRaw = self.addUser(message.author);
var author = channel.server.getMember("id", authorRaw.id) || authorRaw;
logs.push(new Message(message, channel, mentions, author));
}
@@ -776,7 +778,7 @@ class Client {
} else {
var perms = self.getServer("id", ddest).addRole(res.body);
resolve(perms);
cb(null, perms);
@@ -787,25 +789,25 @@ class Client {
});
}
updateRole(server, role, cb=function(err,perm){}){
updateRole(server, role, cb = function (err, perm) { }) {
var self = this;
return new Promise(function(resolve, reject){
return new Promise(function (resolve, reject) {
server = self.resolveServerID(server);
request
.patch(`${Endpoints.SERVERS}/${server}/roles/${role.id}`)
.set("authorization", self.token)
.send({
color : role.color,
hoist : role.hoist,
name : role.name,
permissions : role.packed
color: role.color,
hoist: role.hoist,
name: role.name,
permissions: role.packed
})
.end(function(err, res){
.end(function (err, res) {
if (err) {
cb(err);
reject(err);
@@ -817,41 +819,41 @@ class Client {
}
});
});
}
addMemberToRole(server, role, member, callback=function(err){}){
addMemberToRole(server, role, member, callback = function (err) { }) {
var self = this;
return new Promise(function(resolve, reject){
return new Promise(function (resolve, reject) {
var serverId = self.resolveServerID(server);
var memberId = self.resolveUserID(member);
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)
roles: acMember.rawRoles.concat(role.id)
})
.end(function(err){
if(err){
.end(function (err) {
if (err) {
reject(err);
callback(err);
}else{
} else {
acMember.addRole(role);
resolve();
callback();
}
});
});
}
@@ -922,13 +924,16 @@ class Client {
var mentions = [];
data.mentions = data.mentions || []; //for some reason this was not defined at some point?
for (var mention of data.mentions) {
mentions.push(self.addUser(mention));
}
var channel = self.getChannel("id", data.channel_id);
for (var mention of data.mentions) {
var user = self.addUser(mention);
mentions.push( channel.server.getMember("id", user.id) || user );
}
if (channel) {
var msg = channel.addMessage(new Message(data, channel, mentions, self.addUser(data.author)));
var msg = channel.addMessage(new Message(data, channel, mentions, channel.server.getMember("id", self.addUser(data.author).id)));
self.trigger("message", msg);
}
@@ -966,8 +971,9 @@ class Client {
}
var mentions = [];
for (var mention of info.mentions) {
mentions.push(self.addUser(mention));
for (var mention of data.mentions) {
var user = self.addUser(mention);
mentions.push( channel.server.getMember("id", user.id) || user );
}
var newMessage = new Message(info, channel, mentions, formerMessage.author);
@@ -1394,7 +1400,7 @@ class Client {
}
}
resolveUserID(resource) {
if (resource instanceof User) { // also accounts for Member
return resource.id;
@@ -1464,14 +1470,16 @@ class Client {
var mentions = [];
data.mentions = data.mentions || []; //for some reason this was not defined at some point?
for (var mention of data.mentions) {
mentions.push(self.addUser(mention));
}
var channel = self.getChannel("id", data.channel_id);
for (var mention of data.mentions) {
var user = self.addUser(mention);
mentions.push(channel.server.getMember("id", user.id) || user);
}
if (channel) {
var msg = channel.addMessage(new Message(data, channel, mentions, self.addUser(data.author)));
var msg = channel.addMessage(new Message(data, channel, mentions, channel.server.getMember("id",data.author.id)));
resolve(msg);
}
}

View File

@@ -30,22 +30,7 @@ mybot.on("message", function (message) {
var perms = JSON.stringify(message.channel.permissionsOf(user).serialise(), null, 4);
perms = JSON.parse(perms);
this.createRole(message.channel.server).catch(error).then((permission) => {
mybot.reply(message, JSON.stringify(permission.serialise(), null, 4));
setTimeout(() => {
permission.manageRoles = true;
permission.name="asdfasdf";
permission.color = Discord.Colors.PURPLE;
mybot.updateRole(message.channel.server, permission).then((perm) => {
console.log(message.sender.rawRoles);
mybot.addMemberToRole(message.channel.server, perm, message.sender).catch(error);
}).catch(error);
}, 3000);
});
mybot.reply(message, message.sender.server.name);
});