diff --git a/lib/Client.js b/lib/Client.js index 4c287a81d..8293d5955 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -464,6 +464,23 @@ var Client = (function () { break; + case "USER_UPDATE": + + if (self.user && data.id === self.user.id) { + + var newUser = new User(data); //not actually adding to the cache + + self.trigger("userUpdate", newUser, self.user); + + if (~self.userCache.indexOf(self.user)) { + self.userCache[self.userCache.indexOf(self.user)] = newUser; + } + + self.user = newUser; + } + + break; + default: self.debug("received unknown packet"); self.trigger("unknown", dat); diff --git a/src/Client.js b/src/Client.js index 0eb3a0ed5..34e411d11 100644 --- a/src/Client.js +++ b/src/Client.js @@ -376,6 +376,24 @@ class Client { break; + case "USER_UPDATE": + + if(self.user && data.id === self.user.id){ + + var newUser = new User(data); //not actually adding to the cache + + self.trigger("userUpdate", newUser, self.user); + + if( ~self.userCache.indexOf(self.user) ){ + self.userCache[self.userCache.indexOf(self.user)] = newUser; + } + + self.user = newUser; + + } + + break; + default: self.debug("received unknown packet"); self.trigger("unknown", dat); diff --git a/test/bot.js b/test/bot.js index 0ddda494d..747e19fe0 100644 --- a/test/bot.js +++ b/test/bot.js @@ -24,4 +24,11 @@ mybot.on("messageUpdate", function(message, formerMessage){ console.log(message.author.username, "changed", formerMessage.content, "to", message.content); -}) \ No newline at end of file +}); + +mybot.on("serverNewMember", function(user){ + console.log("new user", user.username); +}); +mybot.on("serverRemoveMember", function(user){ + console.log("left user", user.username); +}); \ No newline at end of file