diff --git a/lib/Client.js b/lib/Client.js index 32025062d..54ed14d17 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -1105,6 +1105,23 @@ var Client = (function () { break; + case "CHANNEL_UPDATE": + + var channelInCache = self.getChannel("id", data.id), + serverInCache = self.getServer("id", data.guild_id); + + if (channelInCache && serverInCache) { + + var newChann = new Channel(data, serverInCache); + newChann.messages = channelInCache.messages; + + self.trigger("channelUpdate", channelInCache, newChann); + + self.channelCache[self.channelCache.indexOf(channelInCache)] = newChann; + } + + break; + default: self.debug("received unknown packet"); self.trigger("unknown", dat); diff --git a/src/Client.js b/src/Client.js index 08a0ecbde..67b36bd7d 100644 --- a/src/Client.js +++ b/src/Client.js @@ -1009,6 +1009,23 @@ class Client { } break; + + case "CHANNEL_UPDATE": + + var channelInCache = self.getChannel("id", data.id), + serverInCache = self.getServer("id", data.guild_id); + + if(channelInCache && serverInCache){ + + var newChann = new Channel(data, serverInCache); + newChann.messages = channelInCache.messages; + + self.trigger("channelUpdate", channelInCache, newChann); + + self.channelCache[ self.channelCache.indexOf(channelInCache) ] = newChann; + } + + break; default: self.debug("received unknown packet"); diff --git a/test/bot.1.js b/test/bot.1.js index 1e425423f..03c507889 100644 --- a/test/bot.1.js +++ b/test/bot.1.js @@ -32,7 +32,7 @@ mybot.on("ready", function () { console.log("im ready"); for(var chann of mybot.channels){ - mybot.setTopic(chann, "HELLO I AM A BOT BOOP BOOP"); + mybot.setTopic(chann, "THINGS"); } }); @@ -44,6 +44,12 @@ mybot.on("unknown", function(info){ console.log("warning!", info); }) +mybot.on("channelUpdate", function(oldChan, newChan){ + + console.log(oldChan.topic + " vs " + newChan.topic); + +}); + function dump(msg) { console.log(msg); }