From 2192e8e08658479002c060a57aaa837cd1a471ab Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <adhisimon@gmail.com>
Date: Tue, 17 Mar 2015 22:26:44 +0700
Subject: [PATCH] fix duplicate messages handling

---
 index.js | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

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;
-- 
1.9.0