From e37132d9975076ad61330e6f728a5fc08137bedc Mon Sep 17 00:00:00 2001 From: Evan Solomon Date: Wed, 11 Feb 2015 13:51:41 -0800 Subject: [PATCH] Skip messages that we've already seen (based on timestamp) Attempt to fix #153 --- src/slack.coffee | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/slack.coffee b/src/slack.coffee index 100980c..1bc1c87 100644 --- a/src/slack.coffee +++ b/src/slack.coffee @@ -7,6 +7,7 @@ Util = require 'util' class SlackBot extends Adapter @MAX_MESSAGE_LENGTH: 4000 + @LAST_MESSAGE_TIMESTAMP_KEY = 'SlackLastMessageTimestamp' constructor: (robot) -> @robot = robot @@ -91,6 +92,12 @@ class SlackBot extends Adapter process.exit 0 message: (msg) => + # Ignore messages we've already seen + lastMessageTimestamp = @robot.brain.get SlackBot.LAST_MESSAGE_TIMESTAMP_KEY + lastMessageTimestamp ?= -Infinity + return if msg.ts <= lastMessageTimestamp + @robot.brain.set SlackBot.LAST_MESSAGE_TIMESTAMP_KEY, msg.ts + # Ignore our own messages return if msg.user == @self.id