diff --git a/lib/Client.js b/lib/Client.js index ef02342ad..4c287a81d 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -430,6 +430,40 @@ var Client = (function () { break; + case "GUILD_MEMBER_ADD": + + var server = self.getServer("id", data.guild_id); + + if (server) { + + var user = self.addUser(data.user); //if for whatever reason it doesn't exist.. + + if (! ~server.members.indexOf(user)) { + server.members.push(user); + } + + self.trigger("serverNewMember", user); + } + + break; + + case "GUILD_MEMBER_REMOVE": + + var server = self.getServer("id", data.guild_id); + + if (server) { + + var user = self.addUser(data.user); //if for whatever reason it doesn't exist.. + + if (~server.members.indexOf(user)) { + server.members.splice(server.members.indexOf(user), 1); + } + + self.trigger("serverRemoveMember", user); + } + + break; + default: self.debug("received unknown packet"); self.trigger("unknown", dat); diff --git a/src/Client.js b/src/Client.js index b5ec12bc5..0eb3a0ed5 100644 --- a/src/Client.js +++ b/src/Client.js @@ -341,6 +341,40 @@ class Client { } break; + + case "GUILD_MEMBER_ADD": + + var server = self.getServer("id", data.guild_id); + + if(server){ + + var user = self.addUser(data.user); //if for whatever reason it doesn't exist.. + + if( !~server.members.indexOf(user) ){ + server.members.push(user); + } + + self.trigger("serverNewMember", user); + } + + break; + + case "GUILD_MEMBER_REMOVE": + + var server = self.getServer("id", data.guild_id); + + if(server){ + + var user = self.addUser(data.user); //if for whatever reason it doesn't exist.. + + if( ~server.members.indexOf(user) ){ + server.members.splice( server.members.indexOf(user), 1 ); + } + + self.trigger("serverRemoveMember", user); + } + + break; default: self.debug("received unknown packet");