From 944ad23b2270535fc090874d38d430533e4f6517 Mon Sep 17 00:00:00 2001 From: hydrabolt Date: Thu, 29 Oct 2015 18:19:12 +0000 Subject: [PATCH] Fixed catchup implementation --- lib/Client.js | 12 +++++++----- src/Client.js | 20 +++++++++----------- test/bot.1.js | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/Client.js b/lib/Client.js index 2b2d54a77..6b13b8f66 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -2169,8 +2169,10 @@ var Client = (function (_EventEmitter) { if (self.options.catchup) { // mention_count, last_message_id, id rstate.forEach(function (catchup, index) { - if (self.options.catchupAll) { - self.getChannelLogs(catchup.id, 100000, { after: catchup.last_message_id }).then(function (results) { + if (self.options.catchup === "all") { + self.getChannelLogs(catchup.id, 100000, { + after: catchup.last_message_id + }).then(function (results) { for (var _iterator19 = results, _isArray19 = Array.isArray(_iterator19), _i19 = 0, _iterator19 = _isArray19 ? _iterator19 : _iterator19[Symbol.iterator]();;) { var _ref19; @@ -2186,12 +2188,12 @@ var Client = (function (_EventEmitter) { var m = _ref19; - if (self.options.catchupIsolate) self.emit("catchupMessage", m);else self.emit("message", m); + self.emit("message", m, true); } self.ack(results[0]); }); - } else { + } else if (self.options.catchup) { self.getChannelLogs(catchup.id, 2500).then(function (results) { for (var _iterator20 = results, _isArray20 = Array.isArray(_iterator20), _i20 = 0, _iterator20 = _isArray20 ? _iterator20 : _iterator20[Symbol.iterator]();;) { @@ -2209,7 +2211,7 @@ var Client = (function (_EventEmitter) { var m = _ref20; if (m.id == catchup.last_message_id) break; - if (self.options.catchupIsolate) self.emit("catchupMessage", m);else self.emit("message", m); + self.emit("message", m, true); } self.ack(results[0]); diff --git a/src/Client.js b/src/Client.js index 39b001783..b78e72cab 100644 --- a/src/Client.js +++ b/src/Client.js @@ -2114,29 +2114,27 @@ class Client extends EventEmitter { if (self.options.catchup) { // mention_count, last_message_id, id rstate.forEach(function (catchup, index) { - if(self.options.catchupAll){ - self.getChannelLogs(catchup.id, 100000, {after:catchup.last_message_id}).then((results) => { + if(self.options.catchup === "all"){ + self.getChannelLogs(catchup.id, 100000, + { + after:catchup.last_message_id + } + ).then((results) => { for (var m of results) { - if(self.options.catchupIsolate) - self.emit("catchupMessage", m); - else - self.emit("message", m); + self.emit("message", m, true); } self.ack(results[0]); }); - }else{ + }else if(self.options.catchup){ self.getChannelLogs(catchup.id, 2500).then((results) => { for (var m of results) { if(m.id == catchup.last_message_id) break; - if(self.options.catchupIsolate) - self.emit("catchupMessage", m); - else - self.emit("message", m); + self.emit("message", m, true); } self.ack(results[0]); diff --git a/test/bot.1.js b/test/bot.1.js index 2886695e0..eedbcaf58 100644 --- a/test/bot.1.js +++ b/test/bot.1.js @@ -2,7 +2,7 @@ var Discord = require("../"); var Member = require("../lib/Member.js"); var mybot = new Discord.Client({ compress : true, - catchup : true + catchup : "isolate" }); var fs = require("fs"); var request = require("request").defaults({ encoding: null });