From 00fdad1ecd7ff54fc2da899e2ac50c5e72c3c9ca Mon Sep 17 00:00:00 2001 From: hydrabolt Date: Mon, 24 Aug 2015 22:51:43 +0100 Subject: [PATCH] Added user join/leave monitoring --- lib/Client.js | 34 ++++++++++++++++++++++++++++++++++ src/Client.js | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) 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");