diff --git a/index.js b/index.js index fb12b60..1b84271 100644 --- a/index.js +++ b/index.js @@ -9,7 +9,7 @@ var strftime = require('strftime'); var pollingTimer; -var lastDataOnPM; +var loggedPM = []; var logger = require('winston'); logger.remove(logger.transports.Console); @@ -87,10 +87,14 @@ function onYmPM(data) { console.log(data); } - if (lastDataOnPM != null) { - if ((lastDataOnPM.sender == data.sender) && (lastDataOnPM.message == data.message)) { - return; - } + // check duplicate message + if (loggedPM.indexOf(data.message_id) >= 0) { + return; + } + + loggedPM.unshift(data.message_id); + if (loggedPM.length > 30) { + loggedPM = loggedPM.slice(0, 10); } lastDataOnPM = data;