serverMemberUpdate listener

This commit is contained in:
hydrabolt
2015-11-01 16:04:59 +00:00
parent b7656f3877
commit 0d6e913454
4 changed files with 56 additions and 12 deletions

View File

@@ -680,7 +680,9 @@ var InternalClient = (function () {
if (server) {
server.memberMap[data.user.id] = {
roles: data.roles,
roles: data.roles.map(function (pid) {
return server.roles.get("id", pid);
}),
mute: false,
deaf: false,
joinedAt: Date.parse(data.joined_at)
@@ -696,6 +698,7 @@ var InternalClient = (function () {
if (server) {
var user = self.users.get("id", data.user.id);
if (user) {
server.memberMap[data.user.id] = null;
server.members.remove(user);
client.emit("serverMemberRemoved", server, user);
} else {
@@ -705,6 +708,24 @@ var InternalClient = (function () {
client.emit("warn", "server member removed but server doesn't exist in cache");
}
break;
case PacketType.SERVER_MEMBER_UPDATE:
var server = self.servers.get("id", data.guild_id);
if (server) {
var user = self.users.get("id", data.user.id);
if (user) {
server.memberMap[data.user.id].roles = data.roles.map(function (pid) {
return server.roles.get("id", pid);
});
server.memberMap[data.user.id].mute = data.mute;
server.memberMap[data.user.id].deaf = data.deaf;
client.emit("serverMemberUpdated", server, user);
} else {
client.emit("warn", "server member removed but user doesn't exist in cache");
}
} else {
client.emit("warn", "server member updated but server doesn't exist in cache");
}
break;
}
};
};