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; 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)); logs.push(new Message(message, channel, mentions, author));
} }
@@ -886,6 +888,9 @@ var Client = (function () {
var mentions = []; var mentions = [];
data.mentions = data.mentions || []; //for some reason this was not defined at some point? 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]();;) { for (var _iterator6 = data.mentions, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {
var _ref6; var _ref6;
@@ -900,12 +905,12 @@ var Client = (function () {
var mention = _ref6; 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) { 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); self.trigger("message", msg);
} }
@@ -943,7 +948,7 @@ var Client = (function () {
} }
var mentions = []; 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; var _ref7;
if (_isArray7) { if (_isArray7) {
@@ -957,7 +962,8 @@ var Client = (function () {
var mention = _ref7; 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); 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? 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]();;) { for (var _iterator15 = data.mentions, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) {
var _ref15; var _ref15;
@@ -1547,12 +1555,12 @@ var Client = (function () {
var mention = _ref15; 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) { 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); resolve(msg);
} }
} }

View File

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

View File

@@ -30,22 +30,7 @@ mybot.on("message", function (message) {
var perms = JSON.stringify(message.channel.permissionsOf(user).serialise(), null, 4); var perms = JSON.stringify(message.channel.permissionsOf(user).serialise(), null, 4);
perms = JSON.parse(perms); perms = JSON.parse(perms);
this.createRole(message.channel.server).catch(error).then((permission) => { mybot.reply(message, message.sender.server.name);
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);
});
}); });