Commit 2192e8e08658479002c060a57aaa837cd1a471ab
1 parent
1c11675f04
Exists in
master
fix duplicate messages handling
Showing 1 changed file with 9 additions and 5 deletions Side-by-side Diff
index.js
... | ... | @@ -9,7 +9,7 @@ var strftime = require('strftime'); |
9 | 9 | |
10 | 10 | var pollingTimer; |
11 | 11 | |
12 | -var lastDataOnPM; | |
12 | +var loggedPM = []; | |
13 | 13 | |
14 | 14 | var logger = require('winston'); |
15 | 15 | logger.remove(logger.transports.Console); |
... | ... | @@ -87,10 +87,14 @@ function onYmPM(data) { |
87 | 87 | console.log(data); |
88 | 88 | } |
89 | 89 | |
90 | - if (lastDataOnPM != null) { | |
91 | - if ((lastDataOnPM.sender == data.sender) && (lastDataOnPM.message == data.message)) { | |
92 | - return; | |
93 | - } | |
90 | + // check duplicate message | |
91 | + if (loggedPM.indexOf(data.message_id) >= 0) { | |
92 | + return; | |
93 | + } | |
94 | + | |
95 | + loggedPM.unshift(data.message_id); | |
96 | + if (loggedPM.length > 30) { | |
97 | + loggedPM = loggedPM.slice(0, 10); | |
94 | 98 | } |
95 | 99 | |
96 | 100 | lastDataOnPM = data; |